[rules-users] JAAS issue for GUVNOR login

starfish15 pooja.ghosh at accenture.com
Tue Dec 20 13:29:38 EST 2011


Hi,

We are trying to use JAAS to authenticate the GUVNOR login. I have done the
following already. 

1. We use Tomcat 6 as the server.
2. Added Realm in the server.xml as follows

    <Realm className="org.apache.catalina.realm.JAASRealm"
appName="drools-guvnor" 
           userClassNames="com.test.user.User" />

drools-guvnor is the drools war file. The Principal class is User.

3. Added the jaas.config file at <Tomcat>/conf as follows

drools-guvnor{

  com.test.JaasGuvnor required debug=true;

};

4.Added the jaas-config-name in components.xml of Tomcat as follows

<security:identity authenticate-method="#{authenticator.authenticate}"
       
jaas-config-name="D:/Tomcat/6.0.29/apache-tomcat-6.0.29/conf/jass.config"/>


However, i continuously get this runtime error as mentioned below whenever i
try to go to GUVNOR

ERROR 20-12 22:48:02,453 (LoggingHelper.java:error:69)   Service method
'public abstract org.drools.guvnor.client.rpc.Us
erSecurityContext
org.drools.guvnor.client.rpc.SecurityService.getCurrentUser()' threw an
unexpected exception: java.lan
g.SecurityException: Unable to locate a login configuration
java.lang.SecurityException: Unable to locate a login configuration
        at com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:93)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
        at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at java.lang.Class.newInstance0(Class.java:355)
        at java.lang.Class.newInstance(Class.java:308)
        at
javax.security.auth.login.Configuration$3.run(Configuration.java:247)
        at java.security.AccessController.doPrivileged(Native Method)
        at
javax.security.auth.login.Configuration.getConfiguration(Configuration.java:242)
        at
javax.security.auth.login.LoginContext$1.run(LoginContext.java:237)
        at java.security.AccessController.doPrivileged(Native Method)
        at
javax.security.auth.login.LoginContext.init(LoginContext.java:234)
        at
javax.security.auth.login.LoginContext.<init>(LoginContext.java:367)
        at
javax.security.auth.login.LoginContext.<init>(LoginContext.java:444)
        at
org.jboss.seam.security.Identity.getLoginContext(Identity.java:406)
        at org.jboss.seam.security.Identity.authenticate(Identity.java:324)
        at
org.drools.guvnor.server.security.SecurityServiceImpl.checkAutoLogin(SecurityServiceImpl.java:109)
        at
org.drools.guvnor.server.security.SecurityServiceImpl.getCurrentUser(SecurityServiceImpl.java:90)
        at
org.drools.guvnor.server.SecurityServiceServlet.getCurrentUser(SecurityServiceServlet.java:63)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
        at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
        at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
        at
com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42)
        at
org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53)
        at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.IOException: Unable to locate a login configuration
        at com.sun.security.auth.login.ConfigFile.init(ConfigFile.java:250)
        at com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:91)
        ... 46 more

Any help will be highly appreciated.

--
View this message in context: http://drools.46999.n3.nabble.com/JAAS-issue-for-GUVNOR-login-tp3601947p3601947.html
Sent from the Drools: User forum mailing list archive at Nabble.com.



More information about the rules-users mailing list