/// <summary> /// 生成token /// </summary> /// <param name="user"></param> /// <returns></returns> public ReturnBody <string> GenerateToken(GenerateTokenParam user) { ExceptionInfoEntity exception = WipLogHelper.GetExceptionInfo <GenerateTokenParam>(namespaceName, "GenerateToken", user); try { string token = JwtHelp.GenerateToken(user.Name, null, user.ExpDays); return(BLLHelpler.GetReturnBody <string>(ResCode.SUCCESS, ResMsg.SUCCESS, token)); } catch (Exception ex) { WipLogHelper.GetExceptionInfoForError(ex, ref exception); return(BLLHelpler.GetReturnBody <string>(ResCode.FAILURE, ResMsg.FAILURE, exception, "出现错误:" + ex.Message)); } }
public ReturnBody <LogonResult> canLogon(UserInfoLogon user) { String strMsg = string.Empty; try { // 暂时注释 //strMsg = "Login Success";//暂时写死 GEBF.BrilliantFactoryClient bfclient = new GEBF.BrilliantFactoryClient("BasicHttpBinding_IBrilliantFactory", GEBFUrl); bfclient.ClientCredentials.UserName.UserName = "******"; bfclient.ClientCredentials.UserName.Password = "******"; bfclient.CanLogin(user.Name, user.PassWord, out strMsg); //*/ WebHeaderCollection headers = WebOperationContext.Current.IncomingRequest.Headers; ReturnBody <LogonResult> res = new ReturnBody <LogonResult>(); res.resCode = "00000"; res.resMsg = "成功"; res.resData = new LogonResult(); if ("Login Success".Equals(strMsg)) { //异步更新内存中的权限 JwtHelp.UpdateAuthToRedis(); res.resData.isSuccess = true; res.resData.loginMessage = "登录成功"; res.resData.sendToken = JwtHelp.GenerateToken(user.Name, null); //headers["Authorization"]; // 根据用户至DB获取resource res.resData.resoruceMenu = new List <ResourceMenu>(); // 获取一级模块 List <ResourceMenu> menu3s = new List <ResourceMenu>(); List <ResourceMenu> menu2s = new List <ResourceMenu>(); List <WIP_Models.ResourceMenuInfo> rank1 = JwtHelp.getResourceMenuForVUE(user.Name, 1, ""); foreach (WIP_Models.ResourceMenuInfo r1 in rank1) { ResourceMenu menu1 = new ResourceMenu(); menu1.menuName = r1.menuName; menu1.menuLevel = "1"; menu1.menuDispSequence = r1.dispSequence; menu1.menuID = r1.dispSequence; menu1.url = r1.url; menu1.color = r1.color; menu1.icon = r1.icon; // 获取二级权限 List <WIP_Models.ResourceMenuInfo> rank2 = JwtHelp.getResourceMenuForVUE(user.Name, 2, r1.roleId); foreach (WIP_Models.ResourceMenuInfo r2 in rank2) { if (r2.menuName == "系统集成") { continue; } ResourceMenu menu2 = new ResourceMenu(); menu2.menuName = r2.menuName; menu2.menuLevel = "2"; menu2.menuDispSequence = r2.dispSequence; menu2.menuID = r2.dispSequence; menu2.url = r2.url; menu2.color = r2.color; menu2.icon = r2.icon; // 获取三级权限 List <WIP_Models.ResourceMenuInfo> rank3 = JwtHelp.getResourceMenuForVUE(user.Name, 3, r2.roleId); foreach (WIP_Models.ResourceMenuInfo r3 in rank3) { ResourceMenu menu3 = new ResourceMenu(); menu3.menuName = r3.menuName; menu3.menuLevel = "3"; menu3.menuDispSequence = r3.dispSequence; menu3.menuID = r3.dispSequence; menu3.url = r3.url; menu3.color = r3.color; menu3.icon = r3.icon; if (menu2.children == null) { menu2.children = new List <ResourceMenu>(); } menu2.children.Add(menu3); } menu2s.Add(menu2); if (menu1.children == null) { menu1.children = new List <ResourceMenu>(); } menu1.children.Add(menu2); } res.resData.resoruceMenu.Add(menu1); } // 返回数据 } else if ("User Name is Incorrect".Equals(strMsg)) { res.resData.isSuccess = false; res.resData.loginMessage = "用户名不存在或不匹配"; res.resData.sendToken = null; } else if ("Password is incorrect".Equals(strMsg)) { res.resData.isSuccess = false; res.resData.loginMessage = "请输入正确密码"; res.resData.sendToken = null; } else { res.resData.isSuccess = false; res.resData.loginMessage = "登录失败"; res.resData.sendToken = null; } return(res); } catch (Exception ex) { ReturnBody <LogonResult> res = new ReturnBody <LogonResult>(); res.resCode = "00001"; res.resMsg = ex.Message; return(res); } }