010.MVC身分識別驗證

來源:互聯網
上載者:User

標籤:表示   控制   授權   作用   執行   控制器   control   use   err   

一.身分識別驗證

1.定義:
身分識別驗證是從使用者出擷取表示憑據(如使用者名稱和密碼)並聽過某些授權機構驗證哪些憑據的過程.
配置節中儲存了登入使用者的資訊,這種方式可以適用於小型的應用程式,實際項目中是將登入使用者資訊儲存在關係型資料庫中,例如SQL Server

2.身分識別驗證思路:

a.使用者模型,控制器登陸方法,登入視圖
登陸成功,記錄會話.然後使用者訪問其它的方法,每個方法執行前都應該判斷會話
問題:太麻煩
b.Controller父類實現了IActionFilter方法:
在執行每個方法之前OnActionExecuting方法被調用
c.重寫OnActionExecuting方法:

3.身分識別驗證的做法:2種方法:
方法1:
登入成功,記錄會話訪問[其它任何方法]前都要判斷會話
登入正確的做法(不這樣做,缺陷:繞過登入的問題,登入根本起不到安全驗證的作用!
在4個方法中不檢查會話,其他方法(執行前)都要檢查會話.缺點,太麻煩?

方法2:
登入成功,記錄會話,僅在OnActionExecuting中判斷會話即可
具體步驟細節如下
步驟1:
建立一個MyController控制器,繼承Controller控制器
重寫OnActionExecutin
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
object obj = Session["my"];
if (obj == null)
{
filterContext.Result=
Redirec("/Users/Login");
}
}

步驟2:
除去Users控制器(Login,register)不能繼承MyController,
其他的控制器的基類都修改成MyController
過濾器:電腦領域比喻的叫法

作用:在執行其他方法之前首先要執行的
在執行其他任務之前首先要執行的

 

010.MVC身分識別驗證

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.