[jboss-svn-commits] JBL Code SVN: r6356 - labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Sep 22 09:12:29 EDT 2006
Author: szimano
Date: 2006-09-22 09:12:26 -0400 (Fri, 22 Sep 2006)
New Revision: 6356
Modified:
labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login/LabsLoginModule.java
Log:
fixed admin login bug
Modified: labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login/LabsLoginModule.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login/LabsLoginModule.java 2006-09-22 12:54:10 UTC (rev 6355)
+++ labs/jbosslabs/trunk/portal-extensions/forge-login/src/java/org/jboss/labs/login/LabsLoginModule.java 2006-09-22 13:12:26 UTC (rev 6356)
@@ -97,19 +97,13 @@
return userModule;
}
- protected RoleModule getRoleModule() throws NamingException {
- if (roleModule == null) {
- roleModule = (RoleModule) new InitialContext()
- .lookup(ModuleConstants.ROLEMODULE_JNDINAME);
- }
- return roleModule;
- }
-
- protected String getUsersPassword() throws LoginException {
+ protected boolean validatePassword(String inputPassword, String expectedPassword) {
+ final String inPassword = inputPassword;
+
try {
TransactionManager tm = (TransactionManager) new InitialContext()
.lookup("java:/TransactionManager");
- String password = (String) Transactions.required(tm,
+ Boolean passwordValid = (Boolean) Transactions.required(tm,
new Transactions.Runnable() {
public Object run() throws Exception {
try {
@@ -121,9 +115,15 @@
if (havingRole == null
|| PermissionTools.getRoleNames(user).contains(
havingRole)) {
- return checkIfPasswordChanged(user);
+ if (!user.getUserName().equals("admin")) {
+ checkIfPasswordChanged(user);
+ return user.validatePassword(inPassword);
+ }
+ else {
+ return user.validatePassword(inPassword);
+ }
} else {
- return lookForNewUser(getRoleModule());
+ return false;
}
} catch (NoSuchUserException e) {
return lookForNewUser(getRoleModule());
@@ -136,13 +136,24 @@
});
// Returning null as password is enough to veto the login
- return password;
+ return passwordValid;
} catch (Exception e) {
- Throwable cause = e.getCause();
- throw new LoginException(cause.toString());
+ return false;
}
}
+ protected RoleModule getRoleModule() throws NamingException {
+ if (roleModule == null) {
+ roleModule = (RoleModule) new InitialContext()
+ .lookup(ModuleConstants.ROLEMODULE_JNDINAME);
+ }
+ return roleModule;
+ }
+
+ protected String getUsersPassword() throws LoginException {
+ return "";
+ }
+
private String checkIfPasswordChanged(User user) throws LoginException {
String password = null;
@@ -180,6 +191,10 @@
throw new LoginException(e.toString());
}
}
+ else {
+ // don't execute this for admin
+ return null;
+ }
return password;
}
More information about the jboss-svn-commits
mailing list