Если вы используете членство по умолчанию, которое поставляется с шаблоном ASP.NET WebForms, вы должны сделать что-то вроде этого, чтобы получить пользователя:
if (this.User != null && this.User.Identity.IsAuthenticated)
{
var userName = HttpContext.Current.User.Identity.Name;
}
Новая модель, о которой вы говорите, это ClaimsPrincipal
. Уникальное отличие состоит в том, что это утверждения на основе Security, полностью совместимый со старыми версиями, но более мощный.
РЕДАКТИРОВАТЬ:
Чтобы добавить пользователя к какому-то 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);
}
person
Fals
schedule
10.09.2013