+
-
+
${companyName}
@@ -88,6 +108,7 @@
+ return true;
+}
+//在页面无需将光标定位在输入框相应全局的扫描枪事件
+var barcodeTemp = '';
+var startTime = 0;
+function setStartTime(){
+ if(startTime == 0){
+ startTime = new Date().getTime();
+ }
+}
+function clearTempBarcodeInfo(){
+ startTime = 0;
+ barcodeTemp = '';
+}
+function showKeyDown(){
+ if(event.keyCode == 48 || event.keyCode == 96){
+ barcodeTemp += '0';
+ setStartTime();
+ }else if(event.keyCode == 49 || event.keyCode == 97){
+ barcodeTemp += '1';
+ setStartTime();
+ }else if(event.keyCode == 50 || event.keyCode == 98){
+ barcodeTemp += '2';
+ setStartTime();
+ }else if(event.keyCode == 51 || event.keyCode == 99){
+ barcodeTemp += '3';
+ setStartTime();
+ }else if(event.keyCode == 52 || event.keyCode == 100){
+ barcodeTemp += '4';
+ setStartTime();
+ }else if(event.keyCode == 53 || event.keyCode == 101){
+ barcodeTemp += '5';
+ setStartTime();
+ }else if(event.keyCode == 54 || event.keyCode == 102){
+ barcodeTemp += '6';
+ setStartTime();
+ }else if(event.keyCode == 55 || event.keyCode == 103){
+ barcodeTemp += '7';
+ setStartTime();
+ }else if(event.keyCode == 56 || event.keyCode == 104){
+ barcodeTemp += '8';
+ setStartTime();
+ }else if(event.keyCode == 57 || event.keyCode == 105){
+ barcodeTemp += '9';
+ setStartTime();
+ }else if(event.keyCode == 13){
+ if (enalbeScanBarcodeLogin){
+ if(isValidUserBarcode($("#j_username_display").val())){
+ $("#j_password").attr("value" , "P@ssword");
+ }
+ }
+ checkSubmit();
+ clearTempBarcodeInfo();
+ }
+}
+$(document).keypress(showKeyDown);
+
Index: ssts-web/src/main/java/com/forgon/disinfectsystem/security/userdetails/DaoUserDetailSSTSImpl.java
===================================================================
diff -u -r21397 -r27735
--- ssts-web/src/main/java/com/forgon/disinfectsystem/security/userdetails/DaoUserDetailSSTSImpl.java (.../DaoUserDetailSSTSImpl.java) (revision 21397)
+++ ssts-web/src/main/java/com/forgon/disinfectsystem/security/userdetails/DaoUserDetailSSTSImpl.java (.../DaoUserDetailSSTSImpl.java) (revision 27735)
@@ -154,36 +154,47 @@
}
String password = currentLoginedUser.getPasswd();
- //如果有配置sso单点登录的bean且所登录的帐号不为条码时,通过统一身份认证的方式认证
- if(ssoAuthenticationService != null && !CssdUtils.usernameIsBarcode(username)){
- boolean succ = false;
- String message = "帐号" + username + "单点登录认证失败";
- try {
- //仅适合于获取登录页面提交的密码、pda与测试用例的登录提交的是无法通过request获取到的密码
- password = request.getParameter("j_password");
- if(StringUtils.isNotBlank(password)){
- succ = ssoAuthenticationService.authentication(username, password, null);
- byte[] bytes = password.getBytes(Charset.forName("UTF-8"));
- try {
- byte[] md5Bytes = CoderEncryption.encryptMD5(bytes);
- password = ForgonStringUtils.encodeHexStr(md5Bytes, true);
- } catch (Exception e) {
- throw new RuntimeException("计算材料MD5出错!" + e.getMessage());
+
+ /**
+ * 通过扫描工作证条码登录时,在登录界面输入的用户名为条码值,密码固定输入为"P@ssword",
+ * 此处发现登录方式为扫描条码时,则将用户数据库的密码当做"P@ssword",赋值为该密码的MD5加密值,
+ * 这样能让用户通过身份验证,而不需要输入密码。
+ */
+ if(CssdUtils.usernameIsBarcode(username)){
+ password = "382e0360e4eb7b70034fbaa69bec5786";
+ }else{
+ //如果有配置sso单点登录的bean且所登录的帐号不为条码时,通过统一身份认证的方式认证
+ if(ssoAuthenticationService != null){
+ boolean succ = false;
+ String message = "帐号" + username + "单点登录认证失败";
+ try {
+ //仅适合于获取登录页面提交的密码、pda与测试用例的登录提交的是无法通过request获取到的密码
+ password = request.getParameter("j_password");
+ if(StringUtils.isNotBlank(password)){
+ succ = ssoAuthenticationService.authentication(username, password, null);
+ byte[] bytes = password.getBytes(Charset.forName("UTF-8"));
+ try {
+ byte[] md5Bytes = CoderEncryption.encryptMD5(bytes);
+ password = ForgonStringUtils.encodeHexStr(md5Bytes, true);
+ } catch (Exception e) {
+ throw new RuntimeException("对密码进行MD5加密时出错!" + e.getMessage());
+ }
+ }else{
+ succ = true;
+ password = currentLoginedUser.getPasswd();
}
- }else{
- succ = true;
- password = currentLoginedUser.getPasswd();
+ password = "c4ca4238a0b923820dcc509a6f75849b";
+ } catch (RuntimeException e) {
+ e.printStackTrace();
+ message += "," + e.getMessage();
+ } catch (Exception e) {
+ e.printStackTrace();
}
- } catch (RuntimeException e) {
- e.printStackTrace();
- message += "," + e.getMessage();
- } catch (Exception e) {
- e.printStackTrace();
+ if(!succ && request != null){
+ request.getSession().setAttribute("message", message);
+ throw new DisabledException("user is disabled");
+ }
}
- if(!succ && request != null){
- request.getSession().setAttribute("message", message);
- throw new DisabledException("user is disabled");
- }
}
Set
allRoles = currentLoginedUser.getRoles();
@@ -203,16 +214,6 @@
+ loginUserVO.getUserFullName() + ",工号:"
+ loginUserVO.getUserName());
- /**
- * 通过扫描工作证条码登录时,在登录界面输入的用户名为条码值,密码固定输入为"P@ssword",
- * 此处发现登录方式为扫描条码时,则将用户数据库的密码当做"P@ssword",赋值为该密码的MD5加密值,
- * 这样能让用户通过身份验证,而不需要输入密码。
- */
- if(CssdUtils.usernameIsBarcode(username)){
- password = "382e0360e4eb7b70034fbaa69bec5786";
- }
-
-
UserDetails acegiUser = new UserContainsSessionUser(
currentLoginedUser.getName(),password,
currentLoginedUser.isEnabled(), true, true, true,
Index: build.gradle
===================================================================
diff -u -r27704 -r27735
--- build.gradle (.../build.gradle) (revision 27704)
+++ build.gradle (.../build.gradle) (revision 27735)
@@ -314,8 +314,7 @@
compile group: 'org.springframework', name: 'spring-ldap', version:'1.1.2'
-
-
+
compile 'org.springframework.security:spring-security-web:' + springSecurityVersion
compile 'org.springframework.security:spring-security-core:' + springSecurityVersion
compile 'org.springframework.security:spring-security-config:' + springSecurityVersion
@@ -1083,6 +1082,7 @@
}
else if (projectName == 'cszxyy'){ // 长沙中心医院
compile (project(":ssts-cszxyy-misc"))
+ compile (project(":ssts-client-misc"))
}
else if (projectName == 'zd5y'){ // 中大五院
compile (project(":ssts-zd5y-misc"))