ASP.NET(MVC Core 1.0)でクレームベースの認可を使用して調査しています。 ClaimsIdentity
を設定するときには、それぞれClaim
を表すキー/値ストリングのペアのリストを提供します。例:ClaimTypesのASP.NET要件
私が理解したいのは、私が望むキー/値を使用できるということです。しかし、ClaimsType
classで利用可能ないくつかの事前定義済みのキーがあることに気付きました。だから、私は潜在的に代わりにこれらの事前定義されたキーの一部を使用することができます:
List<Claim> claims = new List<Claim>
{
new Claim(ClaimTypes.Sid, user.ID),
new Claim(ClaimTypes.Name, user.Name),
new Claim(ClaimTypes.Role, "basic")
};
質問:私は事前に定義されたキーを使用する場合
、実際の値に関するいかなるルール/制限があります。各キーに割り当てられているか、それともアプリケーション定義ですか?たとえば、
ClaimTypes.Sid
にデータベースプライマリキーを張っても構いませんか?または、ASP.NETには、ClaimTypes.Sid
に含める必要があるとの特定の期待がありますか?はがを必要な、またはそれが完全に含ま含めるかどうするかを決定するためのアプリケーションに任されている任意の
ClaimTypes
ありますか?答えは、私がやりとりする特定のサードパーティ認証サービスに依存するかもしれないが、サードパーティ認証を使用しない自己完結型ASP.NETプロジェクトの単純なケースはどうだろうか。 ASP.NET自体には要件がありますか?
特定のキー/値の使用に関する要件やベストプラクティスへのリンクがあれば幸いです。
アイデンティティについての情報をありがとう。私は現在アイデンティティを使用していないが、それは道を変えるかもしれない。私はMVCコア1でEF6を使用しています(EF7があまりにも不完全であるため)、アイデンティティはEF7と絡み合っているように見え、[いくつかのフープを飛び越えなければならない](http://stackoverflow.com/a/33962018/333127) EF6と仕事をするために、私は今のところ控えています。 – cbranch