User: starksm 
  Date: 02/02/06 12:01:31

  Modified:    src/main/org/jboss/security/auth/spi Tag: Branch_2_4
                        UsersRolesLoginModule.java
  Log:
  Add new login module options:
  usersProperties: The name of the properties resource containing
    user/passwords. The default is "users.properties"
  rolesProperties: The name of the properties resource containing user/roles
    The default is "roles.properties".
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.6.4.3   +29 -20    
jbosssx/src/main/org/jboss/security/auth/spi/UsersRolesLoginModule.java
  
  Index: UsersRolesLoginModule.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jbosssx/src/main/org/jboss/security/auth/spi/UsersRolesLoginModule.java,v
  retrieving revision 1.6.4.2
  retrieving revision 1.6.4.3
  diff -u -r1.6.4.2 -r1.6.4.3
  --- UsersRolesLoginModule.java        2002/02/05 18:59:04     1.6.4.2
  +++ UsersRolesLoginModule.java        2002/02/06 20:01:31     1.6.4.3
  @@ -32,10 +32,11 @@
   
   /** A simple properties file based login module that consults two Java Properties
   formatted text files for username to password("users.properties") and
  -username to roles("roles.properties") mapping. The properties files are loaded
  -during initialization using the thread context class loader. This means that
  -these files can be placed into the J2EE deployment jar or the JBoss config
  -directory.
  +username to roles("roles.properties") mapping. The names of the properties
  +files may be overriden by the usersProperties and rolesProperties options.
  +The properties files are loaded during initialization using the thread context
  +class loader. This means that these files can be placed into the J2EE
  +deployment jar or the JBoss config directory.
   
   The users.properties file uses a format:
       username1=password1
  @@ -62,19 +63,34 @@
   */
   public class UsersRolesLoginModule extends UsernamePasswordLoginModule
   {
  +    /** The name of the properties resource containing user/passwords */
  +    private String usersRsrcName = "users.properties";
  +    /** The name of the properties resource containing user/roles */
  +    private String rolesRsrcName = "roles.properties";
       /** The users.properties values */
       private Properties users;
       /** The roles.properties values */
       private Properties roles;
   
  -    /**
  -     * Initialize this LoginModule.
  +    /** Initialize this LoginModule.
  +     *@param options, the login module option map. Supported options include:
  +     *usersProperties: The name of the properties resource containing
  +      user/passwords. The default is "users.properties"
  +     *rolesProperties: The name of the properties resource containing user/roles
  +      The default is "roles.properties".
        */
       public void initialize(Subject subject, CallbackHandler callbackHandler, Map 
sharedState, Map options)
       {
           super.initialize(subject, callbackHandler, sharedState, options);
           try
           {
  +            // Check for usersProperties & rolesProperties
  +            String option = (String) options.get("usersProperties");
  +            if( option != null )
  +               usersRsrcName = option;
  +            option = (String) options.get("rolesProperties");
  +            if( option != null )
  +               rolesRsrcName = option;
               // Load the properties file that contains the list of users and 
passwords
               loadUsers();
               loadRoles();
  @@ -87,17 +103,11 @@
           }
       }
   
  -    /**
  -     * Method to authenticate a Subject (phase 1).
  -     *
  -     * Most of the changes from the original SimpleServerLoginModule
  -     * are made in this method. They are:
  -     * users and passwords read from users.properties file
  -     * users and roles read from roles.properties file
  -     *
  -     * I've also removed the notion of a guest login. If you want to provide 'guest'
  -     * access to your beans then simply disable security on them.
  -     *
  +    /** Method to authenticate a Subject (phase 1). This validates that the
  +     *users and roles properties files were loaded and then calls
  +     *super.login to perform the validation of the password.
  +     *@exception LoginException, thrown if the users or roles properties files
  +     *were not found or the super.login method fails.
        */
       public boolean login() throws LoginException
       {
  @@ -180,12 +190,12 @@
   
       private void loadUsers() throws IOException
       {
  -        users = loadProperties("users.properties");
  +        users = loadProperties(usersRsrcName);
       }
   
       private void loadRoles() throws IOException
       {
  -        roles = loadProperties("roles.properties");
  +        roles = loadProperties(rolesRsrcName);
       }
   
       /**
  @@ -214,4 +224,3 @@
           return bundle;
       }
   }
  -
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to