一.前言

  權限驗證在開發(fā)中是經(jīng)常遇到的,通常也是封裝好的模塊,如果我們是使用者,通常指需要一個標記特性或者配置一下就可以完成,但實際里面還是有許多東西值得我們去探究。有時候我們也會用一些開源的權限驗證框架,不過能自己實現(xiàn)一遍就更好,自己開發(fā)的東西成就感(逼格)會更高一些。進入主題,本篇主要是介紹接口端的權限驗證,這個部分每個項目都會用到,所以最好就是也把它插件化,放在Common中,新的項目就可以直接使用了?;趙eb的驗證之前也寫過這篇,有興趣的看一下ASP.NET MVC Form驗證。

二.簡介

  對于我們系統(tǒng)來說,提供給外部訪問的方式有多種,例如通過網(wǎng)頁訪問,通過接口訪問等。對于不同的操作,訪問的權限也不同,如:

      1. 可直接訪問。對于一些獲取數(shù)據(jù)操作不影響系統(tǒng)正常運行的和數(shù)據(jù)的,多余的驗證是沒有必要的,這個時候可以直接訪問,例如獲取當天的天氣預報信息,獲取網(wǎng)站的統(tǒng)計信息等。

      2. 基于表單的web驗證。對于網(wǎng)站來說,有些網(wǎng)頁需要我們登錄才可以操作,http請求是無狀態(tài),用戶每次操作都登錄一遍也是不可能的,這個時候就需要將用戶的登錄狀態(tài)記錄在某個地方?;诒韱蔚尿炞C通常是把登錄信息記錄在Cookie中,Cookie每次會隨請求發(fā)送到服務端,以此來進行驗證。例如博客園,會把登錄信息記錄在一個名稱為.CNBlogsCookie的Cookie中(F12可去掉cookie觀察效果),這是一個

網(wǎng)友評論