Forms驗證與驗證票相關

2021-05-25 02:03:02 字數 3043 閱讀 1938

一般登入的時候,會有以下具體的流程:

1. 在瀏覽器中有個登入窗體,要輸入使用者名稱和密碼等憑證,通過提交給伺服器的

asp.net

**來審核,檢查是否正確。

2. 如果憑證正確,那麼就會再伺服器端建立乙個

formsauthenticationticket

例項,其中含有資訊:

cookie

的路徑。注意,窗體的路徑設定為

url

的大小寫不一致而採取的一種保護措施。這在重新整理

expiration

:獲取/

時間。cookie

,則返回

cookie

將限制在瀏覽器生命週期範圍內。

cookie

的日期name

:獲取與身份驗證

userdata

:獲取儲存在

version

:返回位元組版本號供將來使用。

3. 這個

formsauthenticationticket

例項被加密成乙個字串,寫入到

web.config

中form

節點name

屬性指定的

cookie

中,然後傳送到客戶端。

4. 然後將使用者重定向到最初請求的

url中。

forms

驗證中的api

組成forms

驗證的api

以及相關的類:

formsauthenticationmodule:

對每個請求進行驗證的

模組formsauthentication:

包含在forms

驗證中我們常用的方法和屬性

(很重要的

)formsidentity

forms

驗證標識。

formsauthenticationticket

:身份驗證的票據,對使用者的資訊進行加密後的產物,我們一般把它加密成字串寫到

cookie

中。上面的類在system.web.security

下。

formsauthenticationmodule

它是乙個實現了

介面的類。它可以用來處理每個請求的

事件。如果傳送了的請求中已經包含了

cookie

資訊,那麼這個模組就對

cookie

資訊進行解密和解析,然後構造乙個

genericprincipal

的類例項填充

context.user,

並且也建立乙個

formsidentity

的例項。

注意:當我們在

web.config

中配置了

forms

驗證後,那麼我們在

事件寫的**要是和

forms

相關的api

。formsauthentication

類這個類很重要。

它有很多的其他方法和屬性:

formsauthenticate

中涉及到客戶端儲存

cookie

的兩個屬性就是:

formscookiename:

獲取或者設設定

cookie

的名稱formscookiepath:

獲取或者設定

cookie

的url

路徑其中

formscookiepath

屬性有一點要注意

:大多數的瀏覽器會在判斷

cookie

是否要和請求一起傳送時,用到

cookie

路徑。(

我們一般在配置檔案配置

path="/"),

如果我們配置的

path

不是"/"

,那麼這個

cookie

就不會和請求傳送到伺服器端。

formsauthenticate

中和cookie

操作相關的方法有:

decrypt:

提取身份驗證

cookie

的加密資訊,建立

formsauthenticationticket,

也就是解密。

encrypt:

加密。從

formsauthenticationticket

中獲取資訊,並且加密。以備我們之後把加密的資訊寫入

cookie

。getauthcookie:

建立身份驗證

cookie

,但是並不把它立即新增到

響應中。

setauthcookie:

建立身份驗證

cookie

,並且把它新增到

response.cookie

中。renewticketifold

:重新整理身份驗證

cookie

的生命週期。

getredirecturl:

把使用者重定向到他們最初請求的頁面。

signout:

使得當前的身份驗證

cookie

過期。我們常用的登出功能。

附:**(從身份驗證票中取出使用者登陸id) 

/// /// forms驗證中,從使用者的身份驗證票中取出使用者id

///

/// 登入使用者的id

public static string getpidfromforms()

return pid;

}

Forms 身份驗證

配置應用程式使用 forms 身份驗證 如果應用程式的根目錄中有 web.config 檔案,請開啟該檔案。複製 在system.web元素中,建立乙個authentication元素,並將它的mode屬性設定為 forms,如下面的示例所示 複製 在authentication元素中,建立乙個fo...

Forms身份驗證

在進行forms身份驗證時,如果採用如下的方法配置web.config的話,則會出現所有的頁面都要進行驗證,這是使用者所不能容忍的,具體 如下 這裡我還要說明一點,很多初學者都會把上面的 寫為 結果會出現不能識別forms節點。如果要實現某個目錄下的forms驗證哪個怎麼辦呢?其實 很簡單,在新增完...

window 驗證方式之一,Forms驗證

有時我們做的一些系統,需要做身份驗證,我們不肯每個頁面都去用session 做判斷,這時候在配置檔案裡設定登入 的驗證方式,forms驗證就好了,forms驗證,當有使用者登入系統時,系統想伺服器發出請求,伺服器請求沒有包含有效的驗證cookies,web服務就會把頁面指向特定頁面 配置檔案配置示例...