文件夾中的 web.config 允許全部或不進行使用者身份驗證
我有一個包含幾個調查 aspx 頁面的文件夾。我必須在這些 aspx 頁面上設置權限。有 5 個不同的頁面,只有一個允許某些使用者訪問。我添加了一個 web.config 文件來允許和拒絕使用者,但它不起作用。如果我允許我的使用者名並添加一個
deny="?"我無權訪問,但如果我添加另一個使用者,請刪除我的使用者名並刪除拒絕選項,我將獲得登錄系統的權限。如果我取消拒絕,我可以獲得訪問權限,但是所有使用者都可以訪問該頁面。添加我的使用者憑據並拒絕我無法訪問的所有匿名使用者。有人可以指出我做錯了什麼的正確方向嗎?可能是它沒有讀取或獲取我的 Windows 登錄憑據嗎?我正在使用 Visual Studio 2012,實體框架。
這就是我所做的:
//Web Config that allows and denies: <?xml version="1.0"?> <configuration> <system.web> <authorization> <allow users="*" /> </authorization> </system.web> <location path="QualityCheckSurvey.aspx"> <system.web> <authorization> <allow users="DomainName\User2" /> <deny users="?" /> </authorization> </system.web> </location> </configuration>我已將身份驗證模式設置為 windows。
編輯似乎權限設置不正確。但它仍然無法正常工作。當我拒絕 *,但允許 USER1 時,即使提示登錄請求,使用者也無法訪問。即使使用者有權訪問,登錄視窗對話框也會不斷彈出 3 次。讓它否認?(匿名)允許每個人都可以訪問,即使我取消了拒絕並且只有 USER1 的允許標籤,其餘使用者仍然可以訪問……我現在在本地執行,但即使在 IIS 上設置那裡的身份驗證(Windows 和基本身份驗證)完全相同….
編輯這是我正在使用的實際程式碼。此路徑“”中只允許 3 個使用者。此 web.config 文件位於包含 5 種不同類型調查的調查文件夾中。只有這一項調查應該允許某些使用者,其餘的調查任何人都可以訪問….
<?xml version="1.0"?> <configuration> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> <location path="QualityCheckSurvey.aspx"> <system.web> <authorization> <deny users="?" /> <allow users="OEP\kevinh, OEP\shabierg, OEP\heilened" /> <deny users="*" /> </authorization> </system.web> </location>在應用程序根目錄的主 web.cofin 中,我將身份驗證模式設置為 windows:
<authentication mode="Windows"> <!--<forms loginUrl="~/Account/Login.aspx" timeout="2880" />--> </authentication>
在您的問題上,您說您有一個文件夾名稱,但在 web.config 上您只給出了路徑上的文件名。使用文件夾名/文件名.aspx,如下所示。使用拒絕使用者=“*”而不是拒絕使用者=“?”
<location path="foldername/QualityCheckSurvey.aspx"> <system.web> <authorization> <allow users="DomainName\User2"/> <deny users="*"/> </authorization> </system.web> </location>編輯
這看起來像您在同一個應用程序中有多個 web.config 文件。為避免混淆,只需刪除調查文件夾和根文件夾 web.config 上的那個,添加此程式碼。
<?xml version="1.0"?> <configuration> <system.web> <authorization> <authentication mode="Windows" /> </authorization> </system.web> <location path="survey/QualityCheckSurvey.aspx"> <system.web> <authorization> <allow users="OEP\kevinh, OEP\shabierg, OEP\heilened" /> <deny users="*" /> </authorization> </system.web> </location>我假設調查文件夾位於根文件夾內。