I'm looking into using JAAS/Jboss security for the first time.  I thoguht I 
would try to get the hang of it by securing the web-console and jmx-console 
with the generic password file method.  I looked into the following rescources 
and followed the directions they contain.

http://docs.jboss.org/jbossas/admindevel326/html/ch8.chapter.html
http://www.jboss.org/wiki/Wiki.jsp?page=SecureTheJmxConsole


After making the changes suggested,  my configuration looks like:


/usr/local/jboss/server/default/conf/login-config

  | *SNIPPED*
  |     <application-policy name = "web-console">
  |        <authentication>
  |           <login-module 
code="org.jboss.security.auth.spi.UsersRolesLoginModule"
  |              flag = "required">
  |              <module-option 
name="usersProperties">web-console-users.properties</module-option>
  |              <module-option 
name="rolesProperties">web-console-roles.properties</module-option>
  |           </login-module>
  |        </authentication>
  |     </application-policy>
  | *SNIPPED*
  | 

/usr/local/jboss/server/default/deploy/management/web-console.war/WEB-INF/jboss-web.xml

  | <?xml version='1.0' encoding='UTF-8' ?>
  | 
  | <!DOCTYPE jboss-web
  |     PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN"
  |     "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd";>
  | 
  | <jboss-web>
  |    <!-- Isolate the console mgr classes from other deployments -->
  |    <class-loading>
  |       <loader-repository>
  |          jboss.console:sar=console-mgr.sar
  |          <loader-repository-config>
  |             java2ParentDelegation=true
  |          </loader-repository-config>
  |       </loader-repository>
  |    </class-loading>
  |    <security-domain>java:/jaas/web-console</security-domain>
  | </jboss-web>
  | 

/usr/local/jboss/server/default/deploy/management/web-console.war/WEB-INF/web.xml

  | *SNIPPED*
  |    <security-constraint>
  |    <web-resource-collection>
  |    <web-resource-name>HtmlAdaptor</web-resource-name>
  |    <description>An example security config that only allows users with the
  |    role JBossAdmin to access the HTML JMX console web application
  |    </description>
  |    <url-pattern>/*</url-pattern>
  |    <http-method>GET</http-method>
  |    <http-method>POST</http-method>
  |    </web-resource-collection>
  |    <auth-constraint>
  |    <role-name>JBossAdmin</role-name>
  |    </auth-constraint>
  |    </security-constraint>
  | 
  | 
  |    <login-config>
  |       <auth-method>BASIC</auth-method>
  |       <realm-name>JBoss WEB Console</realm-name>
  |    </login-config>
  | 
  |    <security-role>
  |       <role-name>JBossAdmin</role-name>
  |    </security-role>
  | *SNIPPED*
  | 

/usr/local/jboss/server/default/deploy/management/web-console.war/WEB-INF/classes/web-console-users.properties

  | admin=blerg
  | 
/usr/local/jboss/server/default/deploy/management/web-console.war/WEB-INF/classes/web-console-roles.properties

  | admin=JBossAdmin
  | 

When I go to http://localhost:8080/web-console/ I am greeted with a login 
prompt, however, an exception is thrown before I ever even submit the login 
info.  The exception follows:


  | 14:06:05,419 ERROR [UsersRolesLoginModule] Failed to load 
users/passwords/role files
  | java.io.IOException: Properties file users.properties not found
  |     at 
org.jboss.security.auth.spi.UsersRolesLoginModule.loadProperties(UsersRolesLoginModule.java:217)
  |     at 
org.jboss.security.auth.spi.UsersRolesLoginModule.loadUsers(UsersRolesLoginModule.java:234)
  |     at 
org.jboss.security.auth.spi.UsersRolesLoginModule.initialize(UsersRolesLoginModule.java:100)
  |     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:324)
  |     at javax.security.auth.login.LoginContext.invoke(LoginContext.java:662)
  |     at 
javax.security.auth.login.LoginContext.access$000(LoginContext.java:129)
  |     at javax.security.auth.login.LoginContext$4.run(LoginContext.java:610)
  |     at java.security.AccessController.doPrivileged(Native Method)
  |     at 
javax.security.auth.login.LoginContext.invokeModule(LoginContext.java:607)
  |     at javax.security.auth.login.LoginContext.login(LoginContext.java:534)
  |     at org.apache.catalina.realm.JAASRealm.authenticate(JAASRealm.java:316)
  |     at 
org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:129)
  |     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
  |     at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
  |     at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:54)
  |     at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
  |     at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
  |     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
  |     at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
  |     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
  |     at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
  |     at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:535)
  |     at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
  |     at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
  |     at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  |     at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
  |     at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
  |     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
  |     at 
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
  |     at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
  |     at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
  |     at 
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
  |     at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
  |     at java.lang.Thread.run(Thread.java:534)
  | 14:06:05,423 WARN  [JAASRealm] Login exception authenticating username 
  | javax.security.auth.login.LoginException: Missing users.properties file.
  |     at 
org.jboss.security.auth.spi.UsersRolesLoginModule.login(UsersRolesLoginModule.java:120)
  |     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:324)
  |     at javax.security.auth.login.LoginContext.invoke(LoginContext.java:675)
  |     at 
javax.security.auth.login.LoginContext.access$000(LoginContext.java:129)
  |     at javax.security.auth.login.LoginContext$4.run(LoginContext.java:610)
  |     at java.security.AccessController.doPrivileged(Native Method)
  |     at 
javax.security.auth.login.LoginContext.invokeModule(LoginContext.java:607)
  |     at javax.security.auth.login.LoginContext.login(LoginContext.java:534)
  |     at org.apache.catalina.realm.JAASRealm.authenticate(JAASRealm.java:316)
  |     at 
org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:129)
  |     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
  |     at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
  |     at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:54)
  |     at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
  |     at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
  |     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
  |     at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
  |     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
  |     at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
  |     at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:535)
  |     at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
  |     at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
  |     at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  |     at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
  |     at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
  |     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
  |     at 
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
  |     at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
  |     at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
  |     at 
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
  |     at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
  |     at java.lang.Thread.run(Thread.java:534)
  | 

Why is the UsersRolesLoginModules still attempting to open a file named 
"users.properties" when login-config.xml is passing in the filename of 
"web-console-users.properties"?

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3865613#3865613

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3865613


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
JBoss-user mailing list
JBoss-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to