【发布时间】:2021-09-09 20:48:08
【问题描述】:
当用户登录系统时,我正在调用用户访问权限。在我的用户访问包括 UserName,UserRole,UserId,ReqAccess,ViewAccess 等。
在我的声明中,我可以添加用户 ID 和用户名,但我想添加对单独声明的其他访问权限,但是当我键入 claims.Add(new Claim(ClaimTypes. 时,列表仅显示列出的项目。如何添加自己的声明并添加它们?
public void SignInUser(string username, string userRole, string userid, bool isPersistent)
{
// Initialization.
var claims = new List<Claim>();
try
{
// Setting
claims.Add(new Claim(ClaimTypes.Name, username));
claims.Add(new Claim(ClaimTypes.Role, userRole));
claims.Add(new Claim("UserId", userid));
var claimIdenties = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);
var ctx = Request.GetOwinContext();
var authenticationManager = ctx.Authentication;
// Sign In.
authenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, claimIdenties);
var identity = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);
var claimsPrincipal = new ClaimsPrincipal(identity);
Thread.CurrentPrincipal = claimsPrincipal;
}
catch (Exception ex)
{
// Info
throw ex;
}
}
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-mvc-4