Webアプリケーションの認証を実行して、異なる権限を持つユーザーが指定された情報にアクセスできるようにする必要があります。ユーザーの認証を有効にするためにIntroduction to Identity on ASP.NET Core(MSDN)をフォローしても問題はありません。その後、私はCreate an ASP.NET Core app with user data protected by authorization(MSDN)の承認を受けましたが、それ以上は進めませんでした。私はこのプログラムを実行するとASP.Net Webアプリケーションの認証と承認の問題
...
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseIdentity();
app.UseMvcWithDefaultRoute();
// Set password with the Secret Manager tool.
// dotnet user-secrets set SeedUserPW <pw>
var testUserPw = Configuration["SeedUserPW"];
if (String.IsNullOrEmpty(testUserPw))
{
throw new System.Exception("Use secrets manager to set SeedUserPW \n" +
"dotnet user-secrets set SeedUserPW <pw>");
}
try
{
SeedData.Initialize(app.ApplicationServices, testUserPw).Wait();
}
catch
{
throw new System.Exception(@"You need to update the DB
\nPM > Update-Database \n or \n
> dotnet ef database update
\nIf that doesn't work, comment out SeedData and
register a new user");
}
は...私はこのエラーを取得する:
System.Exception: 'You need to update the DB PM > Update-Database or > dotnet ef database update If that doesn't work, comment out SeedData and register a new user'
私は、データベースを更新し、更新の成功を受けたが、エラーがまだ残っています。私もユーザーとパスワードを変更しましたが、何も起こりませんでした。
Webアプリケーションで認証と承認を有効にするにはどうすればよいですか?
あなたのコードを表示し、自分で実装した例外について私たちに教えてください。ほとんど役に立ちません。代わりに、 'try'' catch'ブロックコードの全てを* SeedData.Initialize(app.ApplicationServices、testUserPw).Wait();'に置き換えて、あなたのプログラムを実行し、どのエラーが発生するか教えてください投げられた? –
こんにちは@QualityCatalyst、私は問題を追いかけて、例外が発生しました。 'ArgumentNullException:値はnullにはなりません。 'プログラムがseedDataのcalssメソッド" EnsureRole "を読み込むと例外がスローされます。 'var user = await userManager.FindByIdAsync(uid);'ユーザがnullであるためです。 –