Web.config配置: 在<system.web>節下: 登錄代碼: /// <summary> /// 登錄 /// </summary> public static bool Login(string userName, string userPwd) { MySqlHelper dbHel ...
Web.config配置:
在<system.web>節下:
<authentication mode="Forms"> <forms loginUrl="~/Auth/Account/Login" timeout="2880" /> </authentication>
登錄代碼:
/// <summary> /// 登錄 /// </summary> public static bool Login(string userName, string userPwd) { MySqlHelper dbHelper = new MySqlHelper(); sys_user userModel = dbHelper.FindBySql<sys_user>(string.Format("select * from Sys_User where UserName='{0}'", userName)); if (userModel != null) { if (userModel.userPwd.ToUpper() == MD5Helper.Encrypt(userPwd)) { FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(userName, false, 120); string encryptedTicket = FormsAuthentication.Encrypt(ticket); HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket); HttpContext.Current.Response.Cookies.Add(authCookie); return true; } } return false; }View Code
退出登錄代碼:
/// <summary> /// 退出登錄 /// </summary> public static void LoginOut() { FormsAuthentication.SignOut(); }View Code
判斷用戶是否登錄:
/// <summary> /// 判斷是否登錄 /// </summary> public static bool IsLogin { get { return HttpContext.Current.User.Identity.IsAuthenticated; } }View Code
獲取登錄用戶:
/// <summary> /// 獲取登錄用戶 /// </summary> public static sys_user LoginUser { get { if (HttpContext.Current.User.Identity.IsAuthenticated) { string cookieName = FormsAuthentication.FormsCookieName; HttpCookie authCookie = HttpContext.Current.Request.Cookies[cookieName]; FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value); string userName = authTicket.Name; MySqlHelper dbHelper = new MySqlHelper(); return dbHelper.FindBySql<sys_user>(string.Format("select * from SYS_USER where UserName='{0}'", userName)); } return null; } }View Code
Action跳過登錄驗證使用AllowAnonymous:
[AllowAnonymous] public ActionResult Login() { return View(); }View Code
需要登錄驗證的Controller使用Authorize,或者加在自己寫的ControllerBase上:
[Authorize] public class ControllerBase : ControllerView Code