diff --git a/src/main/java/com/dsideal/Start.java b/src/main/java/com/dsideal/Start.java index 0c912bf..b8bc541 100644 --- a/src/main/java/com/dsideal/Start.java +++ b/src/main/java/com/dsideal/Start.java @@ -1,6 +1,7 @@ package com.dsideal; import Plugin.LogBackLogFactory; +import com.dsideal.sso.Controller.AppLoginController; import com.dsideal.sso.Controller.IndexController; import com.dsideal.sso.Interceptor.EmptyInterceptor; import com.jfinal.config.*; @@ -47,6 +48,7 @@ public class Start extends JFinalConfig { me.add("/", IndexController.class); me.add("/web", WebLoginController.class); me.add("/common", CommomController.class); + me.add("/app", AppLoginController.class); } public void configEngine(Engine me) { diff --git a/src/main/java/com/dsideal/sso/Controller/AppLoginController.java b/src/main/java/com/dsideal/sso/Controller/AppLoginController.java new file mode 100644 index 0000000..66de85f --- /dev/null +++ b/src/main/java/com/dsideal/sso/Controller/AppLoginController.java @@ -0,0 +1,100 @@ +package com.dsideal.sso.Controller; + +import java.util.Map; +import java.util.UUID; + +import com.dsideal.sso.Interceptor.EmptyInterface; +import com.dsideal.sso.Util.CommonUtil; +import com.dsideal.sso.Util.SsoLoginHelper; +import com.jfinal.aop.Before; +import com.jfinal.ext.interceptor.POST; +import com.jfinal.kit.StrKit; +import com.alibaba.fastjson.JSONObject; +import com.jfinal.core.Controller; + +public class AppLoginController extends Controller { + /** + * app登录 + * + * @param username 用户名 + * @param password 密码 + */ + @Before({POST.class}) + @EmptyInterface({"username", "password"}) + public void doLogin(String username, String password) { + JSONObject resultJson = new JSONObject(); + String passwordEncode = CommonUtil.getLdapPassword(password); + Map loginMap = CommonUtil.getLoginRouteMap(username); + if (passwordEncode != null && (loginMap == null || !passwordEncode.equals(loginMap.get("password")))) { + resultJson.put("success", false); + resultJson.put("msg", "用户名或密码错误!"); + renderJson(resultJson); + } + + String sessionId = UUID.randomUUID().toString(); + SsoLoginHelper.login(sessionId, loginMap); + resultJson.put("success", true); + resultJson.put("sessionId", sessionId); + if (loginMap != null) { + resultJson.put("personId", loginMap.get("person_id")); + } + if (loginMap != null) { + resultJson.put("personName", loginMap.get("person_name")); + } + if (loginMap != null) { + resultJson.put("bureauId", loginMap.get("bureau_id")); + } + if (loginMap != null) { + resultJson.put("identityId", loginMap.get("identity_id")); + } + renderJson(resultJson); + } + + /** + * 功能:登录检查 + */ + public void loginCheck() { + JSONObject resultJson = new JSONObject(); + boolean flag = true; + if (flag) { + String sessionId = getPara("sessionId"); + if (!sessionId.equals("null") && sessionId != null && sessionId.length() != 0) { + Map loginMap = SsoLoginHelper.loginCheck(sessionId); + if (loginMap == null) { + resultJson.put("success", false); + resultJson.put("msg", "sessionId 已失效!"); + } else { + resultJson.put("success", true); + resultJson.put("sessionId", sessionId); + resultJson.put("personId", loginMap.get("person_id").toString()); + resultJson.put("personName", loginMap.get("person_name").toString()); + resultJson.put("bureauId", loginMap.get("bureau_id").toString()); + resultJson.put("identityId", loginMap.get("identity_id").toString()); + resultJson.put("city_id", loginMap.get("city_id").toString()); + resultJson.put("area_id", loginMap.get("area_id").toString()); + //loginType 1:正常登录 2:切换登录 如果为切换登录main_person_id不能写-1 + String loginType = loginMap.get("login_type").toString(); + if (loginType.equals("1")) { + resultJson.put("mainPersonId", loginMap.get("main_person_id").toString()); + } else { + resultJson.put("mainPersonId", Login.dao.getMainAccountPersonIdByPersonId(loginMap.get("person_id").toString())); + } + } + } else { + resultJson.put("success", false); + resultJson.put("msg", "sessionId 已失效!"); + } + } + renderJson(resultJson); + } + + /** + * app登出 + * + * @throws Exception + */ + public void logout() { + String sessionId = getPara("sessionId"); + SsoLoginHelper.logout(sessionId); + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index e209014..da0e9f0 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -8,11 +8,5 @@ redis_ip=10.10.14.14 redis_port=18890 sso.sessionid=ds_sso_sessionid -qq.app.id=101470748 -qq.app.key=5abec826d65379561edbf4458db1de04 -qq.redirect.uri=http://10.10.6.179/third/qqLogin - -wx.app.id=wx3e0449144386938a -wx.app.secret=15a37979f34791ca8b920c386afaa0d5 diff --git a/统一认证服务接入系统集成开发手册V2.0.doc b/统一认证服务接入系统集成开发手册V2.01.doc similarity index 81% rename from 统一认证服务接入系统集成开发手册V2.0.doc rename to 统一认证服务接入系统集成开发手册V2.01.doc index 797437c..a3a018d 100644 Binary files a/统一认证服务接入系统集成开发手册V2.0.doc and b/统一认证服务接入系统集成开发手册V2.01.doc differ