Professional Documents
Culture Documents
学习内容 :
授权( Authorization )
○ 授权是确定当前访问用户是否具备访问某个系统资源权限的过程。
○ 通常通过 [Authorize] 特性来标识。
[AllowAnonymous]
public IActionResult Login() { //… } Login 方法允许不用认证可调用
}
[Authorize(Roles=“Admin, Member”)] 范例 4
public HomeController:Controller {
public IActionResult Index() { //…. } 具 Admin 角色用户可调用 Index,
Delete 动作方法。
[Authorize(Roles=“Admin”)] 具 Member 角色用户可周用
Index, Login 动作方法
public IActionResult Delete() { //…. }
// 建立身份识别对象 , 并指定账号与角色
var claimsIndentity = new ClaimsIdentity(claims,
CookieAuthenticationDefaults.AuthenticationScheme);
var authProperties = new AuthenticationProperties { IsPersistent = true };
// 进行登录动作 , 并带入身份识别对象
HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme,
new ClaimsPrincipal(claimsIndentity), authProperties);
//RedirecToAction 的第 1 参数为动作方法 , 第 2 参数为控制器
// 注销则调用 // 因此下行会按用户的角色重定向至 AdminController 或 MemberController
HttpContext.SignOutAsync(); return RedirectToAction("Index", member.Role);
}
取得登录用户的帐号
string uid = User.Identity.Name
注 : 若用户尚未登录则会回传
null ,导致上面语句发生 Exception
账密
错误
会员
首页
管理
首页