[JBoss JIRA] Created: (SEAMSECURITY-98) JaasAuthenticator AuthenticationException: Authenticator must provide a non-null User after successful authentication
by Hendy Irawan (JIRA)
JaasAuthenticator AuthenticationException: Authenticator must provide a non-null User after successful authentication
---------------------------------------------------------------------------------------------------------------------
Key: SEAMSECURITY-98
URL: https://issues.jboss.org/browse/SEAMSECURITY-98
Project: Seam Security
Issue Type: Bug
Affects Versions: 3.1.0.Beta1
Environment: Seam Security 3.1.0.Beta2, Ubuntu 11.04 64-bit, JBoss AS 7.0.1 everything
Reporter: Hendy Irawan
I use JaasAuthenticator with the following config:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:s="urn:java:ee"
xmlns:security="urn:java:org.jboss.seam.security"
xmlns:jaas="urn:java:org.jboss.seam.security.jaas"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://www.jboss.org/schema/cdi/beans_1_0.xsd">
<security:IdentityImpl>
<s:modifies/>
<security:authenticatorClass>org.jboss.seam.security.jaas.JaasAuthenticator</security:authenticatorClass>
</security:IdentityImpl>
<jaas:JaasAuthenticator>
<s:modifies/>
<jaas:jaasConfigName>other</jaas:jaasConfigName>
</jaas:JaasAuthenticator>
<interceptors>
<!-- <class>org.jboss.seam.transaction.TransactionInterceptor</class> -->
</interceptors>
</beans>
In JBoss I configure 'other' to use UsersRoles, and I also put users.properties and roles.properties in my project's src/main/resources.
However, even if I put the right username/password, it gives this error:
03:10:14,534 ERROR [org.jboss.seam.security.IdentityImpl] (http--127.0.0.1-8080-6) Login failed: org.jboss.seam.security.AuthenticationException: Authenticator must provide a non-null User after successful authentication
at org.jboss.seam.security.IdentityImpl.postAuthenticate(IdentityImpl.java:281) [seam-security-3.1.0.Beta2.jar:]
at org.jboss.seam.security.IdentityImpl.authenticate(IdentityImpl.java:233) [seam-security-3.1.0.Beta2.jar:]
at org.jboss.seam.security.IdentityImpl.login(IdentityImpl.java:164) [seam-security-3.1.0.Beta2.jar:]
at org.jboss.seam.security.IdentityImpl$Proxy$_$$_WeldClientProxy.login(IdentityImpl$Proxy$_$$_WeldClientProxy.java) [seam-security-3.1.0.Beta2.jar:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_22]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [:1.6.0_22]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [:1.6.0_22]
at java.lang.reflect.Method.invoke(Method.java:616) [:1.6.0_22]
at org.apache.el.parser.AstValue.invoke(AstValue.java:196) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:43) [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:56) [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) [jsf-impl-2.0.4-b09-jbossorg-4.jar:2.0.4-b09-jbossorg-4]
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88) [jboss-jsf-api_2.0_spec-1.0.0.Final.jar:1.0.0.Final]
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) [jsf-impl-2.0.4-b09-jbossorg-4.jar:2.0.4-b09-jbossorg-4]
at javax.faces.component.UICommand.broadcast(UICommand.java:315) [jboss-jsf-api_2.0_spec-1.0.0.Final.jar:1.0.0.Final]
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787) [jboss-jsf-api_2.0_spec-1.0.0.Final.jar:1.0.0.Final]
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252) [jboss-jsf-api_2.0_spec-1.0.0.Final.jar:1.0.0.Final]
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) [jsf-impl-2.0.4-b09-jbossorg-4.jar:2.0.4-b09-jbossorg-4]
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.0.4-b09-jbossorg-4.jar:2.0.4-b09-jbossorg-4]
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) [jsf-impl-2.0.4-b09-jbossorg-4.jar:2.0.4-b09-jbossorg-4]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312) [jboss-jsf-api_2.0_spec-1.0.0.Final.jar:1.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:67) [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:118) [prettyfaces-jsf2-3.3.0.jar:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:139) [jboss-as-web-7.0.1.Final.jar:7.0.1.Final]
at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57) [jboss-as-web-7.0.1.Final.jar:7.0.1.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:154) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:897) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:626) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2054) [jbossweb-7.0.1.Final.jar:7.0.1.Final]
at java.lang.Thread.run(Thread.java:679) [:1.6.0_22]
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (JBSEAM-4944) JPDL Pageflow broken in JSF2
by Andrea Martino (JIRA)
Andrea Martino created JBSEAM-4944:
--------------------------------------
Summary: JPDL Pageflow broken in JSF2
Key: JBSEAM-4944
URL: https://issues.jboss.org/browse/JBSEAM-4944
Project: Seam 2
Issue Type: Bug
Components: JSF Integration
Affects Versions: 2.3.0.BETA1
Environment: JBOSS 7.1 + JSF2 + RichFaces 4.2.0.Final
Reporter: Andrea Martino
The pageflow navigation is broken in Seam 2.3.0.Beta1 when using JSF2.0.
I defined a pageflow as following:
{code:xml|title=pageflow.jpdl.xml}
<?xml version="1.0" encoding="UTF-8"?>
<pageflow-definition name="captureorder">
<start-state>
<transition name="customersearch" to="customersearch"/>
</start-state>
<page name="customersearch" view-id="/customersearch.xhtml">
<transition name="customeroverview" to="customeroverview" />
</page>
<page name="customeroverview" view-id="/customeroverview.xhtml" />
</pageflow-definition>
{code}
The page customersearch.xhtml calls a method in the controller that returns "customeroverview" as following:
{code:xml:title=customersearch.xhtml}
<h:form>
<h:inputText id="name" value="#{customerSearch.name}" />
<h:commandButton value="Search" action="#{customerSearch.search}" />
</h:form>
{code}
The browser is never redirected to the "customeroverview" page.
Somehow the class *org.jboss.seam.jsf.SeamNavigationHandler* in method *handleNavigation* calls baseNavigationHandler (the last method) instead of Pageflow.instance().navigate (which would be correct in this case)
{code:title=org.jboss.seam.jsf.SeamNavigationHandler}
@Override
public void handleNavigation(FacesContext context, String fromAction, String outcome)
{
if ( !context.getResponseComplete() ) //workaround for a bug in MyFaces
{
if ( isOutcomeViewId(outcome) )
{
FacesManager.instance().interpolateAndRedirect(outcome);
}
else if ( Init.instance().isJbpmInstalled() && Pageflow.instance().isInProcess() && Pageflow.instance().hasTransition(outcome) )
{
Pageflow.instance().navigate(context, outcome);
}
else if ( !Pages.instance().navigate(context, fromAction, outcome) )
{
baseNavigationHandler.handleNavigation(context, fromAction, outcome);
}
}
}
{code}
The reason for this behavior, is that *Pageflow.instance().isInProcess()* returns false, even if the page with the form was reached inside a pageflow.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (JBSEAM-5052) s:selectItems noSelectionLabel causes errors without using ui:debug
by Marek Novotny (JIRA)
Marek Novotny created JBSEAM-5052:
-------------------------------------
Summary: s:selectItems noSelectionLabel causes errors without using ui:debug
Key: JBSEAM-5052
URL: https://issues.jboss.org/browse/JBSEAM-5052
Project: Seam 2
Issue Type: Bug
Components: JSF Controls
Affects Versions: 2.2.1.CR1
Environment: JBoss 6 M3
Reporter: Andrew Wheeler
Assignee: Marek Novotny
Fix For: 2.3.0.CR1
When a selectOneMenu has no items other than the no selection option it does not render the option value as org.jboss.seam.ui.NoSelectionConverter.noSelectionValue. In this case the there are no values in person.images.
<h:selectOneMenu id="portrait" value="#{person.portrait}">
<s:selectItems value="#{person.images}" var="i" label="#{i.annotation}" hideNoSelectionLabel="false" noSelectionLabel="Select a portrait..."/>
<s:convertEntity/>
</h:selectOneMenu>
This renders:
<select id="person:portraitDecoration:portrait" name="person:portraitDecoration:portrait" size="1"> <option selected="selected">Select a portrait...</option>
</select>
The result is that any form submit causes a java.lang.NumberFormatException with message: "For input string: "Select a portrait...""
I have debugged a little and I can see that the converter is not firing when rendering the page. It does however fire for other selectOneMenu items on the page that have one or more items.
A similar and perhaps related issue is referenced in the JBoss Forum.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (JBSEAM-4947) <s:decorate /> tag breaks JSF2 f:ajax functionality
by Andrea Martino (JIRA)
Andrea Martino created JBSEAM-4947:
--------------------------------------
Summary: <s:decorate /> tag breaks JSF2 f:ajax functionality
Key: JBSEAM-4947
URL: https://issues.jboss.org/browse/JBSEAM-4947
Project: Seam 2
Issue Type: Bug
Components: JSF Integration
Affects Versions: 2.3.0.BETA1
Environment: JBOSS 7.1.1 Final + RichFaces 4.2.0.Final + Seam 2.3.0.Beta1
Reporter: Andrea Martino
The following XHTML page in JSF2 works fine with no issues. Everything the value in the input field is modified, the page is refreshed with AJAX and the value entered in the input field is displayed in the page.
{code:xml:title=Working JSF}
<h:form id="frm">
<s:div id="enclosingDiv">
<h:inputText id="myInput" value="#{testtest.text}" styleClass="#{invalid?'error':''}"
required="true" autocomplete="off" maxlength="20">
<f:ajax render="enclosingDiv"/>
</h:inputText>
<div>
<h2>The entered value is</h2>
<h:outputText value="#{testtest.text}" />
</div>
</s:div>
</h:form>
{code}
This works fine and it is the expected behavior.
If the input field is enclosed by a <s:decorate /> tag as following, and exception is thrown and the page is not rendered.
{code:xml:title=Not working JSF}
<h:form id="frm">
<s:div id="enclosingDiv">
<s:decorate id="myDecorator">
<h:inputText id="myInput" value="#{testtest.text}" styleClass="#{invalid?'error':''}"
required="true" autocomplete="off" maxlength="20">
<f:ajax render="enclosingDiv"/>
</h:inputText>
</s:decorate>
<div>
<h2>The entered value is</h2>
<h:outputText value="#{testtest.text}" />
</div>
</s:div>
</h:form>
{code}
The output is:
{noformat}
Caused by javax.faces.FacesException with message: "<f:ajax> contains an unknown id 'enclosingDiv' - cannot locate it in the context of the component myInput"
com.sun.faces.renderkit.html_basic.AjaxBehaviorRenderer.getResolvedId(AjaxBehaviorRenderer.java:285)
com.sun.faces.renderkit.html_basic.AjaxBehaviorRenderer.appendIds(AjaxBehaviorRenderer.java:272)
com.sun.faces.renderkit.html_basic.AjaxBehaviorRenderer.buildAjaxCommand(AjaxBehaviorRenderer.java:214)
com.sun.faces.renderkit.html_basic.AjaxBehaviorRenderer.getScript(AjaxBehaviorRenderer.java:86)
javax.faces.component.behavior.ClientBehaviorBase.getScript(ClientBehaviorBase.java:103)
com.sun.faces.renderkit.RenderKitUtils.getSingleBehaviorHandler(RenderKitUtils.java:1607)
com.sun.faces.renderkit.RenderKitUtils.renderHandler(RenderKitUtils.java:1700)
com.sun.faces.renderkit.RenderKitUtils.renderOnchange(RenderKitUtils.java:388)
com.sun.faces.renderkit.html_basic.TextRenderer.getEndTextToRender(TextRenderer.java:134)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:170)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
org.jboss.seam.ui.util.cdk.RendererBase.renderChild(RendererBase.java:190)
org.jboss.seam.ui.util.cdk.RendererBase.renderChildren(RendererBase.java:166)
org.jboss.seam.ui.renderkit.DecorateRendererBase.doEncodeChildren(DecorateRendererBase.java:152)
org.jboss.seam.ui.util.cdk.RendererBase.encodeChildren(RendererBase.java:92)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125)
org.jboss.seam.jsf.SeamViewHandler.renderView(SeamViewHandler.java:88)
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper.renderView(ResourceViewHandlerWrapper.java:93)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
{noformat}
The addition of the <s:decorate /> tag breaks the AJAX functionality.j
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (JBSEAM-5054) Seam UI taglib tag Decorate has got wrong default value
by Marek Novotny (JIRA)
Marek Novotny created JBSEAM-5054:
-------------------------------------
Summary: Seam UI taglib tag Decorate has got wrong default value
Key: JBSEAM-5054
URL: https://issues.jboss.org/browse/JBSEAM-5054
Project: Seam 2
Issue Type: Bug
Components: JSF Controls
Affects Versions: 2.3.0.Final
Reporter: Marek Novotny
Fix For: 2.3.1.CR1
jboss-seam-ui/src/main/resources/META-INF/cdk/attributes/decorate.xml configuration defines enclose default attribute value as true, but generated faces-config.xml has got default value false.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 2 months
[JBoss JIRA] (SEAMJCR-26) Add lazy query to method annotated by "@JcrQuery"
by Waldemar Klaczynski (JIRA)
Waldemar Klaczynski created SEAMJCR-26:
------------------------------------------
Summary: Add lazy query to method annotated by "@JcrQuery"
Key: SEAMJCR-26
URL: https://issues.jboss.org/browse/SEAMJCR-26
Project: Seam JCR
Issue Type: Feature Request
Components: OCM
Affects Versions: 3.1.0.Final, Future
Reporter: Waldemar Klaczynski
There is no lazy querying functions for methods with the annotation "@JcrQuery". This could be easily accomplished by adding two annotations parameters: @ JcrLimit and @ JcrOffset.
QueryManager queryManager = session.getWorkspace().getQueryManager();
Query resultQuery = queryManager.createQuery(query, language);
Annotation[][] annotations = method.getParameterAnnotations();
for (int i = 0; i < params.length; i++) {
Value value = (Value) params[i];
if (annotations[i][0] instanceof JcrOffset) {
resultQuery.setOffset(value.getLong());
} else if (annotations[i][0] instanceof JcrLimit) {
resultQuery.setLimit(value.getLong());
} else {
JcrParam param = (JcrParam) annotations[i][0];
resultQuery.bindValue(param.value(), value);
}
}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 2 months