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);
+ }
}
}