ASP.NET MVCアプリで、カスタムHttpContent.Userオブジェクトを作成しようとしています。私は、IPrincioalを実装するMemberクラスを作成することから始めました。
public class Member : IPrincipal
{
public string Id { get; set; }
public IIdentity Identity { get; set; }
public bool IsInRole(string role) { throw new NotImplementedException(); }
...
}
次に、認証時にHttpContext.UserをMemberクラスのインスタンスに設定します。
FormsAuthentication.SetAuthCookie(email, false);
HttpContext.User = member;
次に、次のように、ユーザーが認証されているかどうかを確認します。
if (User.Identity.IsAuthenticated) { ... }
それは私が立ち往生しているところです。メンバーのインスタンスのプロパティに対して何をする必要があるのかわかりません。public IIdentity Identity
HttpContext.Userオブジェクトを次のように使用できるようにします。
IsAuthenticated = HttpContext.User.Identity.IsAuthenticated;
ViewBag.IsAuthenticated = IsAuthenticated;
if (IsAuthenticated) {
CurrentMember = (Member)HttpContext.User;
ViewBag.CurrentMember = CurrentMember;
}