asp.net mvc 授权认证
在梦里看花的asp.net启蒙书本中得知有 webforms 和 mvc 两种模式,然后建了个空白的mvc工程。建好的工程是够清爽了,但也啥都没有呀。
以下是我为了开启认证而对空白工程作的修改。
1. 打开 /Web.Config 单元,在 <system.web> 增加内容
<system.web>
<authentication mode = "Forms">
<forms loginUrl = "/Authz/Login"></forms>
</authentication>
<compilation debug="true" targetFramework="4.6.1"/>
<httpRuntime targetFramework="4.6.1"/>
</system.web>
加了颜色的三行是我增加的,目的是开启"Forms" 验证,loginUrl 指示跳转到验证身份的地址
2. 打开 /App_Start/FilterConfig.cs 单元,增加一行代码。
filters.Add(new AuthorizeAttribute());
这行代码的作用所有 Action 默认要验证身份之后才能执行
3. 增加控制器,命名为: AuthzController,增加Action,命名为:Login。具体的名字,自己看着办,不过得对应更改上面提到的 loginUrl 配置。
public class AuthzController : Controller
{
[AllowAnonymous]
public ActionResult Login(string returnURL)
{
}
}
这个是需要身份验证的时候,自动跳转过来的Action,具体打开登录界面验证身份的部分我省略啦!
[AllowAnonymous] 指令,是指示这个Action 匿名访问。
身份验证通过之后,执行 FormsAuthentication.SetAuthCookie("lyf", false); 告诉 MVC这个访客已经授权了啦,lyf 是用户名