TIPS-利用web.config設定匿名存取權限

今天有個需求,在某個使用Winodws認證的ASP.NET目錄下,有個ASPX想開放匿名存取,我想到兩種做法:

第一種是利用IIS管理員,先選取該檔案,然後就可以像設定目錄權限一樣,單獨設定某個ASPX檔案是否開放匿名存取。(好像有些人不知道IIS的認證設定可以以檔案為單位)

第二種方法則是透過web.config來設定,但因為我們web.config的設定是<authentication mode="Windows">,採用Windows認證,所以要多一個步驟,目錄本身要先設定同時允許匿名及整合式認證。

然後在該目錄下放一個web.config,假設除了Blah.aspx可以匿名存取外,其他都維持要登入後才能存取:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
    </system.web>
    <location path="Blah.aspx">
        <system.web>
            <authorization>
                <allow users="*"/>
            </authorization>
        </system.web>
    </location>
</configuration>

部署時還是需要動到IIS設定,有點小小美中不足。但目錄只需設定一次,日後要調整目錄下各ASPX的存取,只需更改web.config就可以了。

歡迎推文分享:
Published 07 November 2008 03:51 PM 由 Jeffrey
Filed under: , ,
Views: 16,186



意見

# Howie said on 10 December, 2008 04:55 AM

也可以使用system32\inetsrv\appcmd.exe使用指令方式加入

appcmd set config "站台名稱/虛擬目錄名/asp頁" /section:anonymousauthentication /enabled:true /commit:apphost

不過唯一用處好像只有在做軟體封裝時會使用到

另外想請問,有指令或任何方法可以做IIS7的內部設定檢查嗎?(當然是不能使用UI)

比如windows認證預設是不安裝,有方法可以檢查出來嗎?

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<November 2008>
SunMonTueWedThuFriSat
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication