2009-09-24 151 views
1

我有一個數據驅動的asp.net mvc應用程序。頁面的Url也是數據驅動的,所以它們不能在web.config中硬編碼。 我們準備部署網站,並且最初幾天我們希望只有在登錄後才能訪問網頁。ASP.NET MVC網站授權

是否可以向網站添加授權,然後通過僅更改web.config將其授予? 我已經加入這個:

<authentication mode="Forms"> 
    <forms loginUrl="Login.aspx" timeout="20"> 
    <credentials passwordFormat="Clear"> 
     <user name="admin" password="adminpwd" /> 
    </credentials> 
    </forms> 
</authentication> 
<authorization> 
    <deny users="?" /> 
</authorization> 

但是,這是行不通的。

我也試過位置標記,但不知道在那裏指定什麼路徑。

<location> 
    <system.web> 
     <authorization> 
     <deny users="?" /> 
     </authorization> 
    </system.web> 
    </location> 

請注意:默認的錯誤頁面應該擅自

<customErrors mode="Off" defaultRedirect="/error"> 
</customErrors> 

你能幫助工作嗎?

謝謝!

回答

1

你試過:

<authorization> 
    <deny users="?" /> 
    <allow users="*" /> 
</authorization> 

據評估自上而下的,所以首先拒絕所有匿名用戶,然後讓所有其他用戶(即所有身份驗證的用戶)

+0

我試過這沒有奏效。 爲了消除在我的應用程序中的一些古怪的可能性,我嘗試了一個全新的Asp.net MVC應用程序,它也沒有工作。 – Puneet 2009-09-24 13:31:24

+0

如果我切換拒絕並允許,會發生什麼變化? – 2013-09-18 21:40:29

1

也許[授權]屬性關於控制器操作?也許this將有所幫助。

0

這只是一個臨時限制,而它正在生產服務器上進行測試?如果是這樣,你可以試試HTTP Authentication