2017-06-02 19 views
1

[Authorize]属性を使用してページにアクセスできるASP.NETコアアプリケーションがローカルに実行されています。しかし、自分のサーバーに自分のアプリを公開するときに、[Authorize]を使用するページにアクセスできなくなりました。次のエラーが表示されます。このページは見つかりませんでした[Authorize]属性のない他のページは正常に動作しています。ASP.NET Core - アプリケーションが公開されたときに、[Authorize]属性のページが見つかりません

EDIT:私のアプリケーションが公開バージョンでエラーを取得している場所を見つけました。私は発行時にSignInManagerが正しく動作していないと推測しています...どうすれば設定できますか?

私のサービスのコードです。

public class IdentityAuthenticationService : IAuthenticationService 
{ 
    private UserManager<IdentityApplicationUser> userManager; 
    private SignInManager<IdentityApplicationUser> signInManager; 
    private RoleManager<IdentityRole> roleManager; 

    public IdentityAuthenticationService 
    (
     UserManager<IdentityApplicationUser> userManager, 
     SignInManager<IdentityApplicationUser> signInManager, 
     RoleManager<IdentityRole> roleManager 
    ) 
    { 
     this.userManager = userManager; 
     this.signInManager = signInManager; 
     this.roleManager = roleManager; 
    } 

    public async Task LoginAsync(string username, string password) 
    { 
     //This line is where the error comes from 
     var result = await signInManager.PasswordSignInAsync(username, password, isPersistent: false, lockoutOnFailure: false); 
     if (!result.Succeeded) { 
      throw new InvalidLoginException(); 
     } 
    } 
    [...] 
+0

どのような種類の認証\認証を使用していますか? Windows認証ですか? –

+0

私はAspNetCore.Identity認証を使用します。同僚が私のために作ったが、彼はもう私と一緒に働いていない。 –

+0

実際のエラーを見るためにログを見たことがありますか?アカウントコントローラのビューが正しく設定されていない場合を除き、承認は404を提供しません。質問を編集し、startup.csとtestcontrollerを追加します。それを見て誰かが質問に答えるのを助けるかもしれない。あなたの質問は広すぎます。 –

答えて

0

あなたの問題はAuthorize属性であるとは思われませんが、ルーティングの可能性は高いです。

Authorize属性を持つコントローラまたはアクションにアクセスしようとしたが、権限が与えられていない場合は、空白のページしか表示されません。問題のあるページからAuthorize属性を削除することでこれを確認できますが、同じエラーが発生する可能性があります。

+0

私はパブリッシュバージョンで動作していなかったコントローラからAuthorizeを削除しましたが、今問題なくアクセスできます... –

+0

その場合は、リダイレクトしようとしているどこかの追加の認可ロジックがあると思われます。 –

+0

遅れて申し訳ありませんが、問題の原因がどこにあるかを表示するために質問を編集しました。それが問題の原因を解明するのに役立つかどうかわかりません... –

関連する問題