[英]Form authentication and AllowAnonymous in ASP.NET MVC 4
我在asp.net mvc Web應用程序中使用表單身份驗證,並且我想根據設備(電話,平板電腦或台式機)將用戶重定向到適當的頁面,問題是重定向有效,但用戶必須登錄。 我想在登錄之前重定向。 我在Home控制器(負責重定向的控制器)上使用了AllowAnonymous過濾器,但它似乎不起作用。
我的web.config:
<authentication mode="Forms">
<forms loginUrl="Login" defaultUrl="/" timeout="40320"/> <!-- monthly -->
</authentication>
<authorization>
<deny users="?"/>
</authorization>
* 更新: *奇怪的是[AllowAnonymous]可在其他控制器中使用,但不適用於默認的HomeController!
謝謝。
我認為您需要為控制器添加[Authorize]屬性,並為您的操作添加[AllowAnonymous]。 調試整個過程,並確保應用程序不會引發任何異常。
這對你有幫助
我認為您需要在查看方法中添加[Authorize]屬性
這對你有幫助
http://msdn.microsoft.com/en-us/library/ff398049%28v=vs.100%29.aspx
為了允許用戶無需登錄即可查看特定頁面,您需要添加一個“位置”元素,專門授權應用程序的特定頁面或區域。
如果您有一個名為“ / landingpage / android”的頁面,則將其添加到您的web.config中,緊接在“ system.web”的關閉標記之后
<location path="landingpage/android">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
您可以將多個位置元素添加到web.config文件中。
為了強制每個用戶登錄,您應該具有一個在所有其他控制器中派生的BaseController並在類級別標記[Authorize],或者可以使用[Authorize]屬性標記動作或控制器。 僅在登錄頁面上保留屬性[AllowAnonymous],以便所有人都可以訪問登錄頁面
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.