Asp.net mvc验证用户登录之Forms实现详解
发布时间:2021-01-12 03:18:56 所属栏目:asp.Net 来源:互联网
导读:这里我们采用asp.netmvc自带的AuthorizeAttribute过滤器验证用户的身份,也可以使用自定义过滤器,步骤都是一样。
这里我们采用asp.net mvc 自带的AuthorizeAttribute过滤器验证用户的身份,也可以使用自定义过滤器,步骤都是一样。 第一步:创建asp.net mvc项目, 在项目的App_Start文件夹下面有一个FilterConfig.cs,在这个文件中可以注册全局的过滤器。我们在文件中添加AuthorizeAttribute过滤器如下: public class FilterConfig { public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new HandleErrorAttribute()); //将内置的权限过滤器添加到全局过滤中 filters.Add(new System.Web.Mvc.AuthorizeAttribute()); } } 第二步:在web.config配置文件中修改网站的身份认证为mode="Forms" <system.web> <!--Cockie名称,当用未登入时跳转的url--> <authentication mode="Forms"> <forms name="xCookie" loginUrl="~/Login/Index" protection="All" timeout="60" cookieless="UseCookies"></forms> </authentication> <compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" /> </system.web> 提示:配置name值作为最终生成的cookie的名称,loginUrl指定当用户未登入是跳转的页面,这里挑战到登入页面 第三步:添加用户登入相关的控制器和视图 创建LoginController控制器: public class LoginController : Controller { [HttpGet] [AllowAnonymous] public ActionResult Index() { return View(); } [HttpPost] [AllowAnonymous] public ActionResult Login(User user) { if (!user.Username.Trim().Equals("liuxin") || !user.Password.Trim().Equals("abc")) { ModelState.AddModelError("","用户名或密码错误"); return View("index",user); } //if (!user.Username.Trim().Equals("liuxin")) { // ModelState.AddModelError("Username","用户名错误"); // return View("index",user); / |
相关内容
- asp.net-mvc-3 – dataannotations在主键上设置标识种子值,
- asp.net – ASP MVC – 默认的HTTP标头有任何常量吗?
- asp.net-mvc-3 – 如何将复选框绑定到mvc3中的viewmodel
- asp.net-mvc – Nhibernate / MVC:在View中处理延迟加载的
- asp.net-mvc – 如何组合两个dataTextFields的SelectList描
- asp.net – 将JSON数据解析为.NET对象的最佳方式
- asp.net-mvc – MVC4部分视图没有将值加载到“容器”模型中
- asp.net – App Settings和connectionStrings配置设置中连接
- 何时在ASP.NET上选择LAMP?
- asp.net – Telerik RadGrid GridDataItem – 如何确定列是
推荐文章
站长推荐
- asp.net – 在为app_offline.htm提供特定URL时,将
- 受asp.net MVC启发的更好的WebForms
- asp.net-mvc-3 – “区域”文件夹中的样式,脚本和
- asp.net – 干净的方式来防止输入按钮提交表单
- asp.net-mvc-4 – Can Castle Windsor可用于在AS
- asp.net使用AJAX实现无刷新分页
- asp.net-mvc – Url.Action生成查询字符串,以任何
- asp.net-mvc-4 – 最小和最大字符串长度的单独错
- asp.net – CookieContainer和Response.Cookies集
- asp.net-mvc – 如何组合两个dataTextFields的Se
热点阅读