public ActionResult Eboard(string Name) { LoginUserMoel loginUser = new LoginUserMoel(); loginUser.UserName = Name; loginUser.IsEmployee = 0; SignIn(loginUser, ""); return(RedirectToAction("Index", "Board")); }
public ActionResult EboardAuto() { ///PDMSWeb/Board/getShowContent?selectProjects=SH_MP_MP&selectFunplants=Band%2CAssembly1&Part_Types=Band%2CAssembly1&Optype=OP2&PageNumber=3&PageSize=12 LoginUserMoel loginUser = new LoginUserMoel(); var cooike = System.Web.HttpContext.Current.Request.Cookies.Get(SessionConstants.UserSelect); loginUser.UserName = cooike["userName"]; loginUser.IsEmployee = 0; SignIn(loginUser, ""); return(RedirectToAction("IndexWithCookie", "Board")); }
public HttpResponseMessage LoginIn(LoginUserMoel loginUser) { var systemUser = commonService.GetSystemUserByNTId(loginUser.UserName, 1); if (systemUser == null) { return(Request.CreateResponse(HttpStatusCode.NotFound, "ACCOUNT NOT EXIST")); } if (systemUser.Enable_Flag == false) { return(Request.CreateResponse(HttpStatusCode.Forbidden, "ACCOUNT NOT ENABLED")); } //var userInfo = commonService.GetUserInfo(systemUser.Account_UID); var LDAPswitch = ConfigurationManager.AppSettings["LDAPAuthentication"].ToString(); //判断WebConfig里面是否开启了需要输入密码登录 if (!string.IsNullOrWhiteSpace(LDAPswitch) && LDAPswitch.Equals("ON", StringComparison.CurrentCultureIgnoreCase)) { ValidateUser validateUser = new ValidateUser(settingService); //如果是物料员登录,则要判断是成都还是无锡的专案,成都的不需要输入密码,无锡的需要输入密码 if (systemUser.MH_Flag) { var projectSite = commonService.GetProjectSite(systemUser.Account_UID); switch (projectSite) { case "CTU": break; case "WUXI_M": if (string.IsNullOrEmpty(loginUser.Password) || !validateUser.LDAPValidateByMHFlag(loginUser.UserName, loginUser.Password, loginUser.IsEmployee)) { return(Request.CreateResponse(HttpStatusCode.Unauthorized, "WRONG PASSWORD")); } break; } } else if (systemUser.RoleList != null && systemUser.RoleList.Exists(x => x.Role_ID == "PlayBoardPlayUser")) { //硬编码的角色Role_ID,这个角色免密码登录,直接显示播放看板 //PlayBoardPlayUser 播放看板播放账号 } else if (systemUser.User_Name.Contains("电子看板")) { } else { if (string.IsNullOrEmpty(loginUser.Password) || !validateUser.LDAPValidate(loginUser.UserName, loginUser.Password, loginUser.IsEmployee)) { return(Request.CreateResponse(HttpStatusCode.Unauthorized, "WRONG PASSWORD")); } //loginUser.Password = "******"; } //如果不是物料员帐号登录则需要密码 //if (!systemUser.MH_Flag && !systemUser.User_Name.Contains("电子看板")) //{ // //LDAP Authentication // ValidateUser validateUser = new ValidateUser(settingService); // if (string.IsNullOrEmpty(loginUser.Password) || // !validateUser.LDAPValidate(loginUser.UserName, loginUser.Password, loginUser.IsEmployee)) // { // return Request.CreateResponse(HttpStatusCode.Unauthorized, "WRONG PASSWORD"); // } //} //else // loginUser.Password = "******"; } else { loginUser.Password = string.Empty; } //登录后,更新登录时间 systemService.updateLastLoginDate(systemUser.Account_UID); //从db获取token数据并解密 var userlogintoken = string.Empty; bool refresh = systemUser.LoginToken == null; FormsAuthenticationTicket ticket = null; if (!refresh) { userlogintoken = systemUser.LoginToken; try { ticket = FormsAuthentication.Decrypt(userlogintoken); } catch { refresh = true; } } if (refresh || loginUser.Password != ticket.UserData || loginUser.UserName != ticket.Name) { //userlogintoken = ReFreshToken(systemUser.Account_UID, loginUser.Password); } return(Request.CreateResponse(new AuthorizedLoginUser { Account_UID = systemUser.Account_UID, User_Name = systemUser.User_Name, System_Language_UID = systemUser.System_Language_UID, Token = userlogintoken, MH_Flag = systemUser.MH_Flag, IsMulitProject = systemUser.IsMulitProject, flowChartMaster_Uid = systemUser.flowChartMaster_Uid, USER_Ntid = systemUser.User_NTID, RoleList = systemUser.RoleList })); }
public ActionResult SignIn(LoginUserMoel loginUser, string returnUrl) { HttpResponseMessage responMessage; var apiPath = ConfigurationManager.AppSettings["WebApiPath"].ToString(); using (var client = new HttpClient()) { var content = new StringContent(JsonConvert.SerializeObject(loginUser)); content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); responMessage = client.PostAsync(apiPath + "Login/LoginIn", content).Result; } if (responMessage.IsSuccessStatusCode) { var user = JsonConvert.DeserializeObject <AuthorizedLoginUser>(responMessage.Content.ReadAsStringAsync().Result); #region put token/user info into Cookie and Session and SetAuthCookie make Identity true if (Request.Cookies[SessionConstants.LoginTicket] != null) { CookiesHelper.RemoveCookiesByCookieskey(Request, Response, SessionConstants.LoginTicket); CookiesHelper.RemoveCookiesByCookieskey(Request, Response, SessionConstants.CurrentAccountUID); CookiesHelper.RemoveCookiesByCookieskey(Request, Response, SessionConstants.CurrentUserName); } else { CookiesHelper.AddCookies(Response, SessionConstants.LoginTicket, user.Token, 1); CookiesHelper.AddCookies(Response, SessionConstants.CurrentAccountUID, user.Account_UID.ToString(), 1); CookiesHelper.AddCookies(Response, SessionConstants.CurrentUserName, user.User_Name, 1); } if (Request.Cookies["APIPath"] == null) { CookiesHelper.AddCookies(Response, "APIPath", apiPath, 1); } FormsAuthentication.SetAuthCookie(loginUser.UserName, false); SetLogon(user); #endregion //get ticket of login user //var ticket = FormsAuthentication.Decrypt(user.Token); //set principal //IIdentity identity = new FormsIdentity(ticket); //IPrincipal principal = new GenericPrincipal(identity, null); //HttpContext.User = principal; if (user.RoleList != null && user.RoleList.Exists(x => x.Role_ID == "PlayBoardPlayUser")) //.User_Name.Contains("播放看板") { //硬编码的角色Role_ID,这个角色免密码登录,直接显示播放看板 //PlayBoardPlayUser 播放看板播放账号 return(RedirectToAction("Index", "PlayBoard", new { playUserUID = user.Account_UID })); } if (user.User_Name.Contains("电子看板")) { return(RedirectToAction("Index", "Board")); } //如果用户是物料员则跳转到生成数据维护画面,如果不是则到导航画面 if (user.MH_Flag) { if (user.IsMulitProject) { Session[SessionConstants.MHFlag_MulitProject] = user.IsMulitProject; return(RedirectToAction("ProjectList", "FlowChart")); } else if (user.USER_Ntid == "EQPUser") { return(RedirectToAction("EQPMaintenance", "Equipmentmaintenance", new { iseqp_user = "******" })); } else { var master_Uid = user.flowChartMaster_Uid; if (master_Uid == null) { return(RedirectToAction("Index", "Home")); } else { return(RedirectToAction("ProductData", "ProductInput", new { flowChartMaster_Uid = master_Uid })); } } } else { return(RedirectToAction("Index", "Home")); } } else { ViewBag.InvalidCode = string.Empty; switch (responMessage.StatusCode) { case HttpStatusCode.Forbidden: ViewBag.InvalidCode = "ACCOUNTNOTENABLED"; break; case HttpStatusCode.NotFound: ViewBag.InvalidCode = "ACCOUNTNOTEXIST"; break; case HttpStatusCode.Unauthorized: ViewBag.InvalidCode = "WRONGPASSWORD"; break; case HttpStatusCode.InternalServerError: throw new Exception("API Server Error"); default: break; } return(View("Index")); } }