2017-12-05 16 views
0

私はASP.NET Core Webアプリケーションを持っており、Authorize属性を持つコントローラアクションメソッドをいくつかデコレートしています。承認されていない場合はログインにリダイレクトされません。

私がログインしていないと、リダイレクトは行われず、そのコントローラーアクションの空白ページしか表示されません。私はいくつかのチュートリアルを終え、Cookie認証について話します。 以下はStartup.csのConfigureメソッドです。ここ

public void Configure(IApplicationBuilder app, IHostingEnvironment env, 
    ILoggerFactory loggerFactory) 
{ 
    loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
    loggerFactory.AddDebug(); 

    app.UseApplicationInsightsRequestTelemetry(); 
    app.UseCookieAuthentication(new CookieAuthenticationOptions 
    { 
     AuthenticationScheme = "MainCookie", 
     LoginPath = "/Login", 
     AccessDeniedPath = "/Home/Forbidden/", 
     AutomaticAuthenticate = true, 
     AutomaticChallenge = false 
    }); 
    app.UseCookieAuthentication(new CookieAuthenticationOptions 
    { 
     AuthenticationScheme = "ExternalCookie", 
     AutomaticAuthenticate = false, 
     AutomaticChallenge = false 
    }); 
    app.UseGoogleAuthentication(new GoogleOptions() 
    { 
     ClientId = "*****", 
     ClientSecret = "*****", 
     SignInScheme = "ExternalCookie" 
    }); 
    app.UseFacebookAuthentication(new FacebookOptions() 
    { 
     SignInScheme = "ExternalCookie", 
     AppId = "AppId", 
     AppSecret = "AppSecret" 
    }); 
    app.UseLinkedInAuthentication(new LinkedInOptions() 
    { 
     SignInScheme = "ExternalCookie", 
     ClientId = "*****", 
     ClientSecret = "*****", 
     ProfileScheme = LinkedInDefaults.ProfileLoadFormat.AppDefined 
    }); 

    if (env.IsDevelopment()) 
    { 
     app.UseDeveloperExceptionPage(); 
     app.UseBrowserLink(); 
    } 
    else 
    { 
     app.UseExceptionHandler("/Home/Error"); 
    } 

    app.UseApplicationInsightsExceptionTelemetry(); 

    app.UseStaticFiles(); 

    app.UseSession(); 
    app.UseMvc(routes => 
    { 
     routes.MapRoute(
      name: "default", 
      template: "{controller=Home}/{action=Index}/{id?}"); 
    }); 
} 

私の行動、

[Authorize] 
[HttpGet("https://stackoverflow.com/questions/ask", Name = "askquestions")] 
public IActionResult Ask() 

答えて

0

は、あなたがあなたがfalseにAutomaticChallengeプロパティを設定しているため、ユーザーが認証されていない場合は、ログインページを参照してくださいすることが期待しているように、あなたはにリダイレクトされませんルックスログインページ。この動作は仕様です。詳細here

関連する問題