public JsonResult login(string userId, string userPwd) { string token = ""; string loginName = ""; int loginType = 0; string loginUserId = ""; string loginMsg = ""; string title = ""; //要判斷校長及主管 的簽核權限 Dictionary <string, dynamic> result = service.loginCheck(userId, userPwd); if (result["status"].ToString() == "success" || result["status"].ToString() == "warn") { VwLoginInfo vwLoginInfo = result["loginInfo"]; title = vwLoginInfo.title; optEventRecord(vwLoginInfo.userId, vwLoginInfo.account, "使用者:" + vwLoginInfo.name + "(" + vwLoginInfo.account + "), 登入"); try{ token = new JwtUtils().EnCodeJwt(vwLoginInfo); }catch (Exception e) { logger.Error(e, e.Message); } loginName = vwLoginInfo.name + "(" + vwLoginInfo.school + ")"; loginType = vwLoginInfo.loginType; loginUserId = vwLoginInfo.userId; if (loginType.ToString() == "3" || loginType.ToString() == "4") { loginMsg = new DrugsNoticeService().getLoginMsgByAdmin(loginType.ToString(), userId.ToString()); } else { loginMsg = new DrugsNoticeService().getLoginMsg(userId.ToString()); } } string login_type = service.qryLoginAuth(userId); LoginAuthEnable model = getLoginAuthEnable(login_type, title); string jsonStr = ""; if (!object.ReferenceEquals(model, null)) { jsonStr = JsonConvert.SerializeObject(model); } return(Json(new { status = result["status"].ToString(), msg = result["msg"].ToString(), token = token, loginName = loginName, loginType = loginType, loginMsg = loginMsg, auth = jsonStr })); }
public ActionResult authPage(string isHome) { var loginUserData = this.getLoginUser(); LoginAuthEnable model = service.getLoginAuthEnable(loginUserData.loginType.ToString(), loginUserData.title.ToString()); ViewBag.Auth = model; ViewBag.loginType = loginUserData.loginType.ToString(); ViewBag.userId = loginUserData.userId.ToString(); ViewBag.account = loginUserData.account.ToString(); if (isHome == "Y") { ViewBag.isHome = "Y"; } if (loginUserData.loginType.ToString() == "4") { ViewBag.isAdmin = "Y"; } return(View()); }
/// <summary> /// 登入後 哪些功能可以瀏覽 /// 使用範例: /// 教育行政單位 => getAuthLoginEnable(10,null,null) /// 最高單位 => getAuthLoginEnable(null,4,null) /// 輔導員 => getAuthLoginEnable(null,null,"UTYP") /// </summary> /// <param name="ssno"></param> /// <returns></returns> public LoginAuthEnable getLoginAuthEnable(string login_type, string title = null) { LoginAuthEnable model = new LoginAuthEnable(); try{ if (login_type == "3") { model.MenuItem01 = 1; model.MenuItem02 = 1; model.MenuItem03 = 1; model.MenuItem04 = 0; model.MenuItem05 = 1; model.MenuItem06 = new EditAuth() { Add = 0, Update = 0, Delete = 0 }; model.MenuItem07 = new MenuItem07() { InnerItem01 = 0, //只有修改功能 InnerItem02 = 0, InnerItem03 = 0, InnerItem04 = 0, InnerItem05 = 0 }; } else if (login_type == "2") { model.MenuItem01 = 1; model.MenuItem02 = 1; model.MenuItem03 = 1; model.MenuItem04 = 0; model.MenuItem05 = 1; model.MenuItem06 = new EditAuth() // 下載專區 可以查詢 但是不能做編輯 { Add = 0, Update = 0, Delete = 0 }; model.MenuItem07 = new MenuItem07() { InnerItem01 = 0, //只有修改功能 InnerItem02 = 0, InnerItem03 = 0, InnerItem04 = 0, InnerItem05 = 0 }; } else if (login_type == "1") //跟 login_type == "2" 只差別在 MenuItem01 = 0 { string userTitle = ""; if (object.ReferenceEquals(title, null)) { userTitle = ""; } else { userTitle = title; } model.MenuItem01 = (title == "7" || title == "8")? 1 : 0; model.MenuItem02 = 1; model.MenuItem03 = (title == "7" || title == "8") ? 1 : 0; model.MenuItem04 = 0; model.MenuItem05 = 0; model.MenuItem06 = new EditAuth() // 下載專區 可以查詢 但是不能做編輯 { Add = 0, Update = 0, Delete = 0 }; model.MenuItem07 = new MenuItem07() { InnerItem01 = 0, //只有修改功能 InnerItem02 = 0, InnerItem03 = 0, InnerItem04 = 0, InnerItem05 = 0 }; } else if (login_type == "4") { model.MenuItem01 = 1; model.MenuItem02 = 1; model.MenuItem03 = 1; model.MenuItem04 = 1; model.MenuItem05 = 1; // 下載專區 可以完全編輯 model.MenuItem06 = new EditAuth() { Add = 1, Update = 1, Delete = 1 }; model.MenuItem07 = new MenuItem07() { InnerItem01 = 1, InnerItem02 = 1, InnerItem03 = 1, InnerItem04 = 1, InnerItem05 = 1 }; } }catch (Exception e) { logger.Error(e, e.Message); } return(model); }