2016-12-07 16 views
2

私は次のルートマップされてWebアプリケーションを実行しようとしています:、ユーザーが認証およびAuthorizeAttributeを持つアクションにアクセスしようとされていない場合はASP.NETコア承認リダイレクト

 app.UseMvc(routes => 
     { 
      routes.MapRoute(
       "default", 
       "WoL/{controller=Account}/{action=Login}/{id?}"); 
     }); 

ユーザーは既定のログインURL(上記参照)にリダイレクトする必要があります。しかし、ユーザーは "/ WoL/Account/Login"ではなく "/ Account/Login"にリダイレクトされます。ユーザーが認証されていない場合、どのようにユーザーを「/ WoL/Account/Login」にリダイレクトできますか?私は、次のCookie認証を設定している:

 app.UseCookieAuthentication(new CookieAuthenticationOptions 
     { 
      LoginPath = new PathString("/WoL/Account/Login"), 
      AutomaticChallenge = true 
     }); 
+0

あなたは 'WoL'に' CookiePath'を設定しようとしましたか?詳細はhttps://docs.microsoft.com/en-us/aspnet/core/security/authentication/cookie –

+2

'app.UseMvc()'の前に 'app.UseCookieAuthentication()'を追加していますか? –

+2

'Configure'メソッド(全てのコード)を投稿できますか? –

答えて

3

これは私の作品(Startup.ConfigureServicesで):

services.AddIdentity<User, UserRole>(options => 
{ 
    options.Cookies.ApplicationCookie.LoginPath = new PathString("/Admin/Account/Login"); 
}); 
関連する問題