User: oleg    
  Date: 00/10/24 10:06:52

  Modified:    src/main/org/jboss/security JaasSecurityManager.java
  Log:
  In the case if the cached password doesn't match, reauthentication is performed: the 
password may have changed.
  
  Revision  Changes    Path
  1.3       +8 -2      jboss/src/main/org/jboss/security/JaasSecurityManager.java
  
  Index: JaasSecurityManager.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/security/JaasSecurityManager.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JaasSecurityManager.java  2000/10/23 10:29:22     1.2
  +++ JaasSecurityManager.java  2000/10/24 17:06:52     1.3
  @@ -92,14 +92,20 @@
       }
       
       public boolean isValid(Principal principal, Object credential) {
  +        boolean ok;
           char[] authenticated;
   
           authenticated = (char[]) _passwords.get(principal);
           if (authenticated == null) {
               return authenticate(_smName, principal, credential);
           } else  {
  -            return (credential instanceof char[]) &&
  -                    Arrays.equals(authenticated, (char[]) credential);
  +            if ((credential instanceof char[]) &&
  +                    Arrays.equals(authenticated, (char[]) credential)) {
  +                return true;
  +            } else {
  +                // the password may have changed - reauthenticate
  +                return authenticate(_smName, principal, credential);
  +            }
           }
       }
       
  
  
  

Reply via email to