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 是用户名

   

posted @ 2018-09-10 19:49  疯子随笔  阅读(279)  评论(0编辑  收藏  举报