ASP.NET MVC4 Forms 登录验证
2018-06-22 06:04:05来源:未知 阅读 ()
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; }
退出登录代码:
/// <summary> /// 退出登录 /// </summary> public static void LoginOut() { FormsAuthentication.SignOut(); }
判断用户是否登录:
/// <summary> /// 判断是否登录 /// </summary> public static bool IsLogin { get { return HttpContext.Current.User.Identity.IsAuthenticated; } }
获取登录用户:
/// <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; } }
Action跳过登录验证使用AllowAnonymous:
[AllowAnonymous] public ActionResult Login() { return View(); }
需要登录验证的Controller使用Authorize,或者加在自己写的ControllerBase上:
[Authorize] public class ControllerBase : Controller
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- asp.net源程序编译为dll文件并调用的实现过程 2020-03-29
- Asp.net MVC SignalR来做实时Web聊天实例代码 2020-03-29
- ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据 2020-03-29
- Asp.Net中WebForm的生命周期 2020-03-29
- ASP.NET使用Ajax返回Json对象的方法 2020-03-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash