ASP.NET WebForms テンプレートに付属する既定のメンバーシップを使用している場合は、次のようにしてユーザーを取得する必要があります。
if (this.User != null && this.User.Identity.IsAuthenticated)
{
var userName = HttpContext.Current.User.Identity.Name;
}
あなたが話している新しいモデルはですClaimsPrincipal
。独自の違いは、このClaims Based Securyで、古いバージョンと完全に互換性がありますが、より強力です。
編集:
プログラムでユーザーを追加するにはRole
、ユーザー名とロール名を渡してこれを行う必要があります。
if (this.User != null && this.User.Identity.IsAuthenticated)
{
var userName = HttpContext.Current.User.Identity.Name;
System.Web.Security.Roles.AddUserToRole(userName, "Role Name");
}
新しいクレーム ベース セキュリティの使用
if (this.User != null && this.User.Identity.IsAuthenticated)
{
var userName = HttpContext.Current.User.Identity.Name;
ClaimsPrincipal cp = (ClaimsPrincipal)HttpContext.Current.User;
GenericIdentity genericIdentity;
ClaimsIdentity claimsIdentity;
Claim claim;
genericIdentity = new GenericIdentity(userName, "Custom Claims Principal");
claimsIdentity = new ClaimsIdentity(genericIdentity);
claim = new Claim(ClaimTypes.Role, "Role Name");
claimsIdentity.AddClaim(claim);
cp.AddIdentity(claimsIdentity);
}