2016-10-28 6 views
0

ログインページに/ ForgotPasswordへのリンクがあります。クリックすると、/ Login?ReturnUrl =%2fForgotPasswordにリダイレクトされました。これはフォームベースの認証を使用するMVC5アプリです。 AllowAnonymousを使用しようとしていますが、動作していません。 ウェブ設定:ForgotPasswordページへの匿名アクセスを許可するページ

<location path="."> 
    <system.web> 
    <authorization> 
    <deny users="?"/> 
    </authorization> 
    </system.web> 
    </location> 
    <location path="Content"> 
    <system.web> 
    <authorization> 
    <allow users="*"/> 
    </authorization> 
    </system.web> 
    </location> 
    <location path="Scripts"> 
    <system.web> 
    <authorization> 
    <allow users="*"/> 
    </authorization> 
    </system.web> 
    </location> 
    <location path="App_Themes"> 
    <system.web> 
    <authorization> 
    <allow users="*"/> 
    </authorization> 
    </system.web> 
</location> 

<authentication mode="Forms"> 
    <forms loginUrl="~/Login" timeout="15"/> 
</authentication> 

ForgotPasswordコントローラー:

[AllowAnonymous] 
public class ForgotPasswordController : Controller 
{ 
    [AllowAnonymous] 
    public ActionResult Index() 
    {   
     return View(); 
    } 
} 

はありません、このような運。 _ViewStartを除いて、私はAllowAnonymousで装飾されるべきものが見つかっていません。

私はここで行方不明ですか?ありがとう!

答えて

1

we.configで許可タグを使用しないでください。コントローラとアクションでは、承認属性のみを使用してください。

web.configの承認タグは、ファイルへのアクセスを許可/制限するのに便利です.Webフォームや静的コンテンツでうまく動作します。

しかし、MVCでは、コントローラとアクションにマップされたルートがあります。コントローラごとに[Authorize]を使用することができます。 [AllowAnonymous]属性を使用して匿名ユーザーの操作を行います。

もっと詳しく読む:https://weblogs.asp.net/jongalloway/asp-net-mvc-authentication-global-authentication-and-allow-anonymous

関連する問題