私はASP.NETメンバーシップで構築されたwebformsアプリケーションを持っています。私はアイデンティティに首尾よく移行しました。役割の権限からクレームの権限への変更
ロール認可の代わりにクレーム認可を使用しますが、古いユーザーのロール情報はデータベースのAspNetUserRoles
テーブルに移行されましたが、AspNetUserClaims
テーブルは空です。移行後に登録された新規ユーザーは、私は次のコードでAspNetUserClaims
に追加することができます。
IdentityResult result1 = manager.AddClaim(user.Id, new Claim(ClaimTypes.Role, "role"));
しかし、古いユーザーにのみAspNetUserClaims
テーブルにないAspNetUserRoles
テーブルに登録されています。ログインに
請求が作成されます
AspNetUserClaims
表からも、あるいはのみAspNetUserRoles
テーブルからロール情報が含まれていますか?User.IsInRole()
テーブルはAspNetUserRoles
テーブルとAspNetUserClaims
テーブルの両方をチェックしますか?AspNetUserRoles
テーブルの情報をAspNetUserClaims
テーブルに移行するにはどうすればよいですか?
これは非常に有益です!このうちのいくつかは、デバッグを通じて解明し始めました。どうもありがとうございました! –
質問1について、私はあなたを理解していれば、新しいユーザーを登録するときにUserRolesテーブルに自分のロールを登録すれば十分です。自分のロールをUserClaimsテーブルに登録する必要はありません。あれは正しいですか? –
@DovMillerロールはロールであり、同じ情報をクレームに入れる必要はありません。だからあなたはここで正しいです。 – trailmax