public bd03_user CheckUser(LoginViewModel model) { bool isfound = Getbd03().Any(x => x.user_id.Trim() == model.user_id.Trim() && x.user_pwd.Trim() == model.user_password.Trim()); if (isfound) { bd03_user dbdata = Getbd03().Where(x => x.user_id.Trim() == model.user_id.Trim() && x.user_pwd.Trim() == model.user_password.Trim()).First(); return(dbdata); } else { return(new bd03_user()); } }
public ActionResult UserLogin(LoginViewModel model) { // 實務上可能驗證表單.驗證該使用者是否存在.寫在BLL層.Web層只要知道是否登入成功 LoginService LS = new LoginService(); bd03_user UserData = LS.CheckUser(model); // 登入成功,寫入FormsAuthentication if (UserData.user_id != "") { SetLogin(UserData, "Admin"); return(RedirectToAction("Index", "Home")); } return(RedirectToAction("Index", "Login")); }
/// <summary>寫入FormsAuthentication登入資訊</summary> /// <param name="UserID"></param> /// <param name="Role"></param> private void SetLogin(bd03_user UserData, string Role) { Session.RemoveAll(); FormsAuthenticationTicket ticket = new FormsAuthenticationTicket( 1, UserData.user_name, DateTime.Now, DateTime.Now.AddMinutes(30), false, //將管理者登入的 Cookie 設定成 Session Cookie UserData.auth_type.ToString(), //userdata看你想存放啥 FormsAuthentication.FormsCookiePath); //你想要存放在 User.Identy.Name 的值,通常是使用者帳號 string encTicket = FormsAuthentication.Encrypt(ticket); Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket)); }
/// <summary>新增BD03使用者資料</summary> public void addBD03(BD03AddModel viewmodel) { bd03_user _model = new bd03_user(); _model.user_org = viewmodel.user_org; _model.user_dept = viewmodel.user_dept; _model.user_id = viewmodel.user_id; _model.user_name = viewmodel.user_name; _model.user_pwd = viewmodel.user_pwd; _model.user_sex = viewmodel.user_sex; _model.user_mail = viewmodel.user_mail; _model.user_tel = viewmodel.user_tel; _model.auth_type = viewmodel.auth_type; _model.usable = viewmodel.usable; _model.make_date = DateTime.Now; _model.modify_date = DateTime.Now; _model.maker_id = "evan"; db.Insert(_model); }
/// <summary>寫入FormsAuthentication登入資訊</summary> /// <param name="UserID"></param> /// <param name="Role"></param> private void SetLogin(bd03_user UserData, string Role) { Session.RemoveAll(); FormsAuthenticationTicket ticket = new FormsAuthenticationTicket( 1, UserData.user_name, DateTime.Now, DateTime.Now.AddMinutes(30), false, //將管理者登入的 Cookie 設定成 Session Cookie UserData.user_id + "," + UserData.user_org + "," + UserData.user_dept + "," + UserData.auth_type.ToString(), //ID,org,dept,authtype FormsAuthentication.FormsCookiePath); //你想要存放在 User.Identy.Name 的值,通常是使用者帳號 string encTicket = FormsAuthentication.Encrypt(ticket); //FormsAuthentication.SetAuthCookie(UserData.user_name, false); Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket)); System.Web.Security.FormsAuthentication.RedirectFromLoginPage(UserData.user_name, true); Session["UserID"] = UserData.user_id; Session["UserAuthType"] = UserData.auth_type; Session["UserOrg"] = UserData.user_org; Session["UserDept"] = UserData.user_dept; }
/// <summary>取得特定使用者資料</summary> public BD03AddModel getUser(string user_org, string user_dept, string user_id) { List <bd03_user> model = new List <bd03_user>(); //var dbresult = db.Get().ToList(); var dbresult = db.GetByUserInfo(user_org, user_dept, user_id); //int i = 0; bool isfound = false; bd03_user result = new bd03_user(); //whil;le (i < dbresult.Count) //{ if (dbresult.user_org.Trim() == user_org && dbresult.user_dept.Trim() == user_dept && dbresult.user_id.Trim() == user_id) { result = dbresult; isfound = true; } // i++; //} if (isfound) { BD03AddModel _model = new BD03AddModel(); _model.user_org = result.user_org.Trim(); _model.user_dept = result.user_dept.Trim(); _model.user_id = result.user_id.Trim(); _model.user_name = result.user_name.Trim(); _model.user_pwd = result.user_pwd.Trim(); _model.user_sex = result.user_sex.Trim(); _model.user_mail = result.user_mail.Trim(); _model.user_tel = result.user_tel.Trim(); _model.auth_type = result.auth_type; _model.usable = result.usable; return(_model); } else { return(new BD03AddModel()); } }