私は利用したいと思います:
Page.User.IsInRole("CustomRole");
Page.User.Identity.IsAuthenticated
Page メソッド内で作業する場合、およびweb.configの認証セクション:
<authorization>
<allow roles="Administrators, Supervisors" />
<deny users="*" />
</authorization>
また、クラスおよびメソッド レベルでルールを適用します。
[PrincipalPermission(SecurityAction.Demand, Role = "Administrators")]
私のアプリケーションでは、... HTTP ヘッダーでユーザー ID を提供する ... カスタム メカニズムで認証します。ユーザーのPIN番号(ある種のID)+ロールを取得します。しかし、それはサイド プロットです。それは問題ではありません。
私が実際に達成したいのは、認証機能で ASP .NET ビルドを利用することですが、独自の認証メカニズムを使用することです。IPrincipalとIIdentityを実装する必要があると思いますが、そうですか? Web でたくさんのサンプルを見ましたが、それらにはすべて、プロバイダーを指定する web.config 構成と、必要ないと思われるFormsAuthenticationのようなクラスが含まれています。ユーザーオブジェクト(私が準備したもの)をリクエストに挿入するだけで済みます。
そう:
- それを達成する最も簡単な方法は何ですか?
- GenericPrincipal / IPrincipal の違いは何ですか?
IIdentity オブジェクトを取得/作成する方法は? 私はサンプルを見ました:
var id = 新しい FormsIdentity(authTicket);
しかし、私は FormsAuthentication を使用していません。
ありがとう