0

これまで、ASP.NETロールプロバイダーのいくつかのカスタム実装を見てきましたが、それらはすべて、文字列のユーザー名に基づいてロールチェックが行われるという基本クラスの要件に準拠しています。(たとえばIsUserInRole(string username))。この文字列のユーザー名がユーザーエンティティの一意のキーになるという事実に基づいて、ロールプロバイダーのこの要件はありますか?

私のユーザークラスは、ユーザーインスタンスの一意の識別子としてGUIDIDを使用しています。

PS認証Cookieを設定するときにGUIDIDを使用する必要があることを理解しています。ユーザー名の役割の関連付けの背後にある動機を理解していることを確認したいだけです。

4

1 に答える 1

0

IPrincipalからユーザー名を取得するのは非常に簡単だからです。だからあなたは簡単に行うことができますIsUserInRole(User.Identity.Name)

さらに重要なことに、FormsAuthenticationシステムは、承認レベルで検証を行うためにIPrincipalに依存できる必要があり、使用可能な情報はユーザー名のみです。

于 2012-08-20T18:15:47.927 に答える