ロールがクレームのサブセットであるアドバイスを読んで、ASP.NET IDでEFコアの実装を尋ねるクリーンな方法を検討していますVS 2017のASP.NET ID Core 2.0テンプレートにロール関連のテーブルを作成しないようにしてください。クレームのみが必要です。 テンプレートはASP.NETアイデンティティコア2.0からロール関連テーブルを削除する方法
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
// Customize the ASP.NET Identity model and override the defaults if needed.
// For example, you can rename the ASP.NET Identity table names and more.
// Add your customizations after calling base.OnModelCreating(builder);
}
}
を使用し、IdentityDbContextは、これらの役割に関連したテーブル移行ファイルを操作することなく、それらを取り除くためにどのように
を作成しますか?
クレームが抽象的な概念である理由についてさらに議論することはできますか?私はまだ具体的なものと見ることができるクレームでフィルタリングすることができます。 (?)https://docs.microsoft.com/en-us/aspnet/core/security/authorization/claims – Octopus
暗黙の機能がないため抽象です。それらは単なるデータです。そのデータの周りに機能を作成する必要があります。たとえば、ユーザーが管理者であることを示すクレームを追加することができますが、クレームを引き出して値を確認し、ユーザーのステータスを決定するロジックが必要になります。ロールは、この機能を焼き付けた単なるクレームです。 –
クレームとロールの違いを詳しく説明している関連ドキュメントがありますか?それは提供されたリンクで欠けているようです。ありがとう – Octopus