這可能乍看起來似乎與this question非常相似,但在我的情況下,我在我的MVC應用程序中實現了基於AspNetSqlMembershipProvider的標準安全性。ASP.NET MVC 3應用程序總是重定向到Live站點上的登錄
當我部署我在本地主機上或內部登臺服務器應用程序,一切正常 - 大部分的HomeController和的AccountController行動都是可見的未經授權的用戶和所有其他被保護的(我用[Authorize]
屬性用於標記班以及需要保護的方法)
問題是,當我將應用程序部署到活動託管服務器時,基本上所有請求都會重定向到登錄頁面,而沒有任何明顯的原因。我知道我必須忽略一些簡單但重要的配置,但是因爲我對這個完整的.NET新事物(不管是ASP還是MVC)都不熟悉,所以我不能爲我的生活弄清楚什麼是錯的或丟失
如果需要更多信息,請讓我知道,我會很樂意提供。
編輯: Web.config中沒有<location>
元素。此外,分段與之間的差異生活站點Web.config僅在連接字符串和Elmah記錄器配置中。
同樣,註冊全局過濾器的代碼是相當標準的(我還沒有觸及這一點):
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
也許有什麼東西在服務器配置,可能會導致不同的行爲?我應該在哪裏看?
@Roland有沒有可能爲AuthorizeAtribute實現GlobalActionFilter? – tugberk 2011-04-05 14:31:16
我會開始比較您的舞臺和實況站點的web.config文件,尋找位置和授權 – BlackTigerX 2011-04-05 14:39:22
您是否介意發佈您的實時web.config的片段,特別是BlackTigerX所說的Location節點。 – Ayo 2011-04-05 17:30:41