/// <summary> /// Login system by user info /// </summary> /// <param name="user">User info</param> /// <returns>Url to access</returns> public static string LoginByUser(ThongTinCanBo user, string reUrl = "") { ChucNangUngDungService _role = new ChucNangUngDungService(); List <string> roles = _role.ChucNangSuDung(user.CanBoId).ToList(); HttpContext.Current.User.Identity.SetUserLogin(user, roles); string url = String.Empty; if (string.IsNullOrEmpty(reUrl)) { url = MenuHelper.GetFirstPermissionUrlByUser(user); } else { url = reUrl; } return(url); }
public static void SetUserLogin(this IIdentity identity, ThongTinCanBo userInfo, List <string> lstRole) { HttpSessionState session = HttpContext.Current.Session; session.Add("_USERID", userInfo.CanBoId.ToString()); session.Add("_USERNAME", userInfo.TenDangNhap); session.Add("_FULLNAME", userInfo.HoVaTen); session.Add("_DEPARTMENTID", userInfo.PhongBanHienTaiId.ToString()); session.Add("_DEPARTMENTNAME", userInfo.TenPhongBan); session.Add("_POSITIONID", userInfo.ChucVuHienTaiId); session.Add("_POSITIONNAME", userInfo.TenChucVu); session.Add("_UNITID", userInfo.CoQuanHienTaiId.ToString()); session.Add("_UNITNAME", userInfo.TenCoQuan.ToString()); session.Add("_EMAIL", string.IsNullOrEmpty(userInfo.Email) ? "" : userInfo.Email.ToString()); session.Add("_TEL", string.IsNullOrEmpty(userInfo.DienThoai) ? "" : userInfo.DienThoai.ToString()); session.Add("_AVATAR", string.IsNullOrEmpty(userInfo.AnhDaiDien) ? "" : userInfo.AnhDaiDien.ToString()); session.Add("_ROLES", lstRole); session.Timeout = 7200; }
public static bool CheckAccessByUser(SiteMapNode node, ThongTinCanBo user) { if (user != null) { if (node.Roles.Count == 0) { return(true); } for (int i = 0; i < node.Roles.Count; i++) { if (node.Roles[i] != null) { string role = node.Roles[i].ToString(); return(MembershipExtension.CheckUserRole(role)); } } } return(false); }
public ThongTinCanBo checkCookie() { ThongTinCanBo user = null; string userName = string.Empty, passWord = string.Empty; if (Request.Cookies["username"] != null) { userName = Request.Cookies["username"].Value; } if (Request.Cookies["password"] != null) { passWord = Request.Cookies["password"].Value; } if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(passWord)) { user = new ThongTinCanBo { TenDangNhap = userName, MatKhau = passWord } } ; return(user); }
public ActionResult Login(string reUrl) { ViewBag.reUrl = reUrl; ThongTinCanBo userCookie = checkCookie(); if (userCookie != null) { CanBoService _user = new CanBoService(); ThongTinCanBo user = _user.GetUserLogin(userCookie.TenDangNhap, userCookie.MatKhau); if (user != null) { // login system string url = MembershipExtension.LoginByUser(user, reUrl); if (!string.IsNullOrEmpty(url)) { return(Redirect(url)); } } } return(View("Login2")); }
public ActionResult Login(string txtUserName, string txtPassword, bool?Remember, string reUrl) { if (string.IsNullOrEmpty(txtUserName) || string.IsNullOrEmpty(txtPassword)) { ModelState.AddModelError("", "Thiếu thông tin tài khoản hoặc mặt khẩu"); return(View()); } CanBoService _user = new CanBoService(); ThongTinCanBo user = _user.GetUserLogin(txtUserName, EncryptHelper.EncryptMD5(txtPassword)); if (user != null) { // save username and password into cookie if (Remember != null && Remember == true) { setCookie(txtUserName, EncryptHelper.EncryptMD5(txtPassword)); } // login system string url = MembershipExtension.LoginByUser(user, reUrl); if (!string.IsNullOrEmpty(url)) { return(Redirect(url)); } else { ModelState.AddModelError("", "Tài khoản chưa được phân quyền"); } return(View()); } else { ModelState.AddModelError("", "Tên đăng nhập hoặc mật khẩu không đúng"); } return(View("Login2")); }
public static string GetFirstPermissionUrlByUser(ThongTinCanBo user) { foreach (SiteMapNode node in SiteMap.RootNode.ChildNodes) { if (node.ChildNodes.Count == 0) { if (CheckAccessByUser(node, user)) { return(node.Url); } } else { foreach (SiteMapNode childNode in node.ChildNodes) { if (CheckAccessByUser(childNode, user)) { return(childNode.Url); } } } } return(string.Empty); }
public static ThongTinCanBo GetUserLogin(this IIdentity identity) { HttpSessionState session = HttpContext.Current.Session; var canbo = new ThongTinCanBo(); if (session != null) { if (session["_USERID"] != null) { canbo.CanBoId = Convert.ToInt32(session["_USERID"]); } else { if (!HttpContext.Current.Response.IsRequestBeingRedirected) { HttpContext.Current.Response.Redirect("~/Auth/Login"); } } if (session["_USERNAME"] != null) { canbo.TenDangNhap = session["_USERNAME"].ToString(); } if (session["_FULLNAME"] != null) { canbo.HoVaTen = session["_FULLNAME"].ToString(); } if (session["_DEPARTMENTID"] != null) { canbo.PhongBanHienTaiId = Convert.ToInt32(session["_DEPARTMENTID"]); } if (session["_DEPARTMENTNAME"] != null) { canbo.TenPhongBan = session["_DEPARTMENTNAME"].ToString(); } if (session["_POSITIONID"] != null) { canbo.ChucVuHienTaiId = Convert.ToInt32(session["_POSITIONID"].ToString()); } if (session["_POSITIONNAME"] != null) { canbo.TenChucVu = session["_POSITIONNAME"].ToString(); } if (session["_UNITID"] != null) { canbo.CoQuanHienTaiId = Convert.ToInt32(session["_UNITID"].ToString()); } if (session["_UNITNAME"] != null) { canbo.TenCoQuan = session["_UNITNAME"].ToString(); } if (session["_EMAIL"] != null) { canbo.Email = session["_EMAIL"].ToString(); } if (session["_TEL"] != null) { canbo.DienThoai = session["_TEL"].ToString(); } if (session["_AVATAR"] != null) { canbo.AnhDaiDien = session["_AVATAR"].ToString(); } if (session["_ROLES"] != null) { canbo.DsChucNang = (List <string>)session["_ROLES"]; } return(canbo); } else { //FormsAuthentication.SignOut(); HttpContext.Current.Response.Redirect("~/Auth/Login", true); return(canbo); } }