Index: lams_central/src/java/org/lamsfoundation/lams/security/UniversalLoginModule.java
===================================================================
diff -u -r43dfd9f833c87c58f4dc4a61f386b6c2cf961720 -r20ce199831888b996374f8873220db09b375a74c
--- lams_central/src/java/org/lamsfoundation/lams/security/UniversalLoginModule.java (.../UniversalLoginModule.java) (revision 43dfd9f833c87c58f4dc4a61f386b6c2cf961720)
+++ lams_central/src/java/org/lamsfoundation/lams/security/UniversalLoginModule.java (.../UniversalLoginModule.java) (revision 20ce199831888b996374f8873220db09b375a74c)
@@ -59,6 +59,7 @@
import org.lamsfoundation.lams.usermanagement.service.UserManagementService;
import org.lamsfoundation.lams.util.Configuration;
import org.lamsfoundation.lams.util.ConfigurationKeys;
+import org.lamsfoundation.lams.util.HashUtil;
import org.lamsfoundation.lams.web.session.SessionManager;
import org.lamsfoundation.lams.web.util.AttributeNames;
import org.lamsfoundation.lams.web.util.HttpSessionManager;
@@ -150,6 +151,11 @@
user = service.getUserByLogin(username);
} else if (AuthenticationMethodType.LAMS.equals(type)) {
DatabaseAuthenticator authenticator = new DatabaseAuthenticator(dsJndiName, principalsQuery);
+ // if the password is not encrypted when sent from the jsp (e.g. when it is passed
+ // unencrypted to say, ldap) then encrypt it here when authenticating against local db
+ if (!Configuration.getAsBoolean(ConfigurationKeys.LDAP_ENCRYPT_PASSWORD_FROM_BROWSER)) {
+ inputPassword = HashUtil.sha1(inputPassword);
+ }
isValid = authenticator.authenticate(username,inputPassword);
} else if (AuthenticationMethodType.WEB_AUTH.equals(type)) {
WebAuthAuthenticator authenticator = new WebAuthAuthenticator();
Index: lams_central/web/login.jsp
===================================================================
diff -u -r64938df458cbab9999f9a826ef2902d061648d7d -r20ce199831888b996374f8873220db09b375a74c
--- lams_central/web/login.jsp (.../login.jsp) (revision 64938df458cbab9999f9a826ef2902d061648d7d)
+++ lams_central/web/login.jsp (.../login.jsp) (revision 20ce199831888b996374f8873220db09b375a74c)
@@ -32,6 +32,7 @@
flash is searching for this string, so leave it!:
j_security_login_page
-->
+<%= Configuration.getAsBoolean(ConfigurationKeys.LDAP_ENCRYPT_PASSWORD_FROM_BROWSER) %>
@@ -46,8 +47,10 @@