配置ASP.NET身分識別驗證支援

來源:互聯網
上載者:User

          不論是開放web網站,還是B/S應用程式,我們都需要對我們程式的部分資源進行保護,不被不速之客訪問,要想訪問受限資源,將會重新導向到登入頁面,要求輸入帳號,為實現上面的要求,我們通常會這樣配置:

<authentication mode="Forms">

              <forms name=".ASPXAUTH " loginUrl="login.aspx" protection="All" timeout="120"/>

         </authentication>

         <authorization>

              <deny users="?"/>

         </authorization>

 

(各個屬性的含義,msdn有詳細描述),這樣,應用程式下所有的頁面都將收到保護,但是我們大多數情況下只有求保護某些資源,而另一部分資源將是完全開放的(在門戶網站中常常是這樣的),我們把受保護的資源放在某個目錄下,例如admin。

我們只需設定system.web配置節如下即可:

<authentication mode="Forms">
            <forms name=".ASPXADMINUSER" loginUrl="admin/adminlogin.aspx" protection="All" timeout="20" path="/" />
        </authentication>
        <authorization>
            <allow users="?" />
        </authorization>

再在

configuration配置節下如下:

<location allowOverride="false" />
    <location path="admin">
        <system.web>
            <authorization>
                <allow users="admin"></allow>
                <deny users="*"></deny>
            </authorization>
        </system.web>
    </location>

這樣admin目錄下的所有頁面將受到保護,注意ASP.NET對html檔案不作保護。

問題來了,如果admin下大部分頁面開放,只對list.aspx保護怎麼辦。我們可以修改

<location path="admin">為

<location path="admin/list.aspx">

按如上所述配置,將可以保護任意指定的資源,各配置屬性在msdn中有說明,這裡浪費時間了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.