ASP.NET HTTP模組和處理常式(7)
來源:互聯網
上載者:User
現在試圖使用使用者id“Steve”和密碼“15seconds”登入系統。輸入 http://localhost/webapp2/index.aspx?userid=Steve&password=15seconds你將看到下面的歡迎訊息:
現在試圖使用錯誤的使用者id和密碼組合來登入系統。輸入http://localhost/webapp2/index.aspx?userid=Mansoor&password=xyz你將看到下面的錯誤訊息:
這表明我們的安全模組在起作用了。你可以通過在AuthenticateAndGetRoles方法中使用資料庫存取碼來擴充該安全模組。
要使所有的部分都起作用,我們必須對web.config檔案進行一些修改。首先,由於我們要使用自己的身分識別驗證,因此不需要其它的身分識別驗證機制。為了達到這個目的,改變webapp2的web.config檔案中的<authentication>節點,如下所示:
<authentication mode="None"/>
類似地,不允許匿名使用者存取我們的Web網站。給web.config檔案添加下面的語句:
<authorization>
<deny users="?"/>
</authorization>
用於至少能夠匿名訪問用於提供憑證的檔案。在web.config檔案中使用下面的配置設定資訊把index.aspx作為唯一能夠匿名訪問的檔案:
<location path="index.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
結論
你可能已經意識到有了HTTP處理常式和模組後,ASP.NET已經給開發人員提供了強大的能量。把你自己的組件插入ASP.NET請求處理管道,享受它的優點吧。
作為練習,你應該進一步改進程式,使樣本身分識別驗證模組更加靈活,並能根據使用者的需要進行調整。