ASP.NET的安全模式

ASP.NET的安全模式

簡介:根據所請求資源的類型,IIS能夠自己處理請求,也可以不自己處理請求,如果資源請求一個ASP頁面,則IIS將請求經過身份驗證用戶(或匿名用戶)的安全令牌一起傳遞給ASP.NET,接下來發生的事情就取決於ASP.NET的配置。

ASP.NET支持的4種授權方法:

    Windows:IIS驗證。在內聯網環境中非常有用。

    Passport:微軟集中式身份驗證,一次登錄便可訪問所有成員站點,需要收費。

    Form:窗體驗證,驗證帳號/密碼,Web編程最佳流行的驗證方式。

    None:表示ASP.NET自己根本不執行身份驗證,完全依賴IIS身份驗證。

一、認證和授權機制

        認證是確認用戶身份的過程,在用戶通過了身份驗證後,開發人員就可以確定該用戶是否有權繼續操作。如果沒有進行身份驗證,就不能進行實體授權。

        授權是確定已驗證的用戶是否有權訪問應用程序中的某個部分、某個點或只訪問應用程序提供的特定數據集。

二、基於窗體的身份授權模式

        允許用戶訪問整個應用程序或其他特定資源的一種流行的模式。

        IIS接受請求,但不進行處理,而傳遞給ASP.NET應用程序。

        ASP.NET身份驗證模式設置爲Forms,下面圖列出<forms>元素的屬性

    

        forms驗證事例:


        其實我們還可以將用戶名和密碼保存在Web.config文件中,用來檢查用戶名和密碼是否授權用戶。Web.config文件的<forms>子元素還可以有子元素。子元素<credentials>允許直接在Web.config中指定用戶名和密碼組合。


        <credentials>元素在配置文件中添加了用戶及其密碼。<credentials>有一個屬性passwordFormat,其值可以是Clear、MD5和SHAI。

        Clear:密碼存儲爲明文。用戶的密碼直接與這個值比較,不需要進一步轉換。

        MD5:密碼使用散列摘要進行存儲。在驗證證書時,用戶密碼使用MD5算法進行散列,在與這個值進行相等比較。不會存儲或比較明文密碼。這個算法比SHAI的性能好。

        SHAI:密碼使用SHAI散列摘要來存儲。在驗證證書時,用戶密碼使用SHAI算法進行散列,再與這個值進行相等比較。不會存儲或比較明文密碼。這個算法的全能性最高。

        <authorization>配置節用來對用戶進行授權,在實現用戶授權過程中,應該遵循以下兩個應用規則:

            1.位於較低目錄級別的配置文件中包含的規則,優先於位於較高目錄級別的規則。

            2.對於給定URL的一組合並的規則,系統從列表頭開始,檢查規則直到找到第一個匹配項爲止

         <authorization>配置

            deny阻止訪問用戶;allow允許訪問用戶

            ?代表匿名用戶,*代表任意用戶

            多個用戶之間用“,”隔開   

          使用<location>配置節,可以指定特定的文件或目錄具有特別的訪問權限。  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章