Q 1.我的理解FormsAuthenticationModule
訂閱到AuthenticateRequest
事件,因此僅此事件被觸發後,是FormsAuthenticationModule
調用。但接下來的行情讓我有點糊塗:
-
所配置的驗證機制已經認證了當前請求的
AuthenticateRequest
事件信號。- 沒有以上報價表明,在引發
AuthenticateRequest
事件,請求(也稱爲用戶)已經驗證?
- 沒有以上報價表明,在引發
-
訂閱所述事件
AuthenticateRequest
確保該請求將處理所述附加模塊或事件處理程序之前進行認證。- 據我理解這句話,如果我們訂閱
AuthenticatedRequest
,那麼我們的事件處理程序將先於FormsAuthenticationModule
叫什麼?因此在調用FormsAuthenticationModule
之前調用Application_AuthenticateRequest()
?
- 據我理解這句話,如果我們訂閱
Q 2本書,我從提示中Application_AuthenticateRequest()
我們能夠驗證用戶是否是特定角色的成員,如果沒有,我們可以添加用戶學習自動:
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
if (User.Identity.IsAuthenticated && Roles.Enabled)
{
//here we can subscribe user to a role via Roles.AddUserToRole()
}
}
從上面的代碼來看,Application_AuthenticateRequest()
是FormsAuthenticationModule
後已被調用調用,但其他地方同樣的書意味着Application_AuthenticateRequest()
是前FormsAuthenticationModule
叫:
Application_AuthenticateRequest
進行身份驗證之前被調用。 這是創建自己的身份驗證邏輯的起點。
我缺少什麼?
感謝名單
Q1如果我理解正確的話,那麼當AuthenticateRequest火災,FormsAuthenticationModule首先被調用,然後Application_AuthenticateRequest(),然後才進行定製認證模塊被稱爲? Q2 - 但MSDN報價(「AuthenticateRequest事件表明配置的認證機制已認證當前請求」),這意味着AuthenticateRequest僅在FormsAuthenticationModule完成其工作後纔會觸發? – SourceC 2009-05-17 22:10:03
該文章中的詳細答案。關於Q2 - 我想這不是完全正確的:「AuthenticateRequest事件表明配置的認證機制已經認證了當前的請求」 - 它肯定會通過FormsAuthenticationModule上的事件處理程序,但我們不知道結果;) – bbmud 2009-05-17 23:10:20
thanx。你真的幫我解決了這個問題 – SourceC 2009-05-18 00:09:46