asp.net核心web页面验证

  <>之前本例是用简单角色验证方式来通过用户登录后,获取用户角色,每种角色可以通过[授权(=Roles “管理、用户”)]在行动上来控制访问的权限,也就是说,只有属性这个角色才能访问这个行动。

在启动。cs的配置方法中添加
//为验证添加中间件   app.UseCookieAuthentication (new  CookieAuthenticationOptions   {   ,,,//验证方案名称   ,,,AuthenticationScheme =,“loginvalidate”,   ,,,//没有权限时导航的登录行动   ,,,LoginPath =, new  Microsoft.AspNetCore.Http.PathString("/登录"),   ,,,//访问被拒绝后的acion   ,,,AccessDeniedPath =, new  Microsoft.AspNetCore.Http.PathString (“/Home/NoPermission”),,,,,,,   ,,,AutomaticAuthenticate =,真的,   ,,,AutomaticChallenge =,真的,   ,,,SlidingExpiration =,真的   });


using  System.Collections.Generic;   using 来;   using  Microsoft.AspNetCore.Mvc;   using  Microsoft.AspNetCore.Authorization;   using  System.Security.Claims;   ,   namespace  webAuth.Controllers   {   ,,,///,& lt; summary>   ,,,///,本控制器允许管理员和用户两种角色可以访问   ,,,///,& lt;/summary>   ,,,(授权(=Roles “管理、用户”))   ,,,public  class  HomeController :控制器   ,,,{   ,,,,,,,public  IActionResult 指数()   ,,,,,,,{   ,,,,,,,,,,,return 视图();   ,,,,,,,}   ,,,,,,,///,& lt; summary>   ,,,,,,,///,aobout只允许用户角色访问   ,,,,,,,///,& lt;/summary>   ,,,,,,,///,& lt; returns> & lt;/returns>   ,,,,,,,(授权(Roles =, "用户"))   ,,,,,,,public  IActionResult  ()   ,,,,,,,{   ,,,,,,,,,,,var  id =, User.Claims.SingleOrDefault (c =祝辞,c.Type ==, ClaimTypes.Sid) value;   ,,,,,,,,,,,显示数据(“信息”),=,“用户标识:“+,id;   ,   ,,,,,,,,,,,return 视图();   ,,,,,,,}   ,,,,,,,///,& lt; summary>   ,,,,,,,///,接触只允许管理角色访问   ,,,,,,,///,& lt;/summary>   ,,,,,,,///,& lt; returns> & lt;/returns>   ,,,,,,,(授权(=Roles “admin”))   ,,,,,,,public  IActionResult 接触()   ,,,,,,,{   ,,,,,,,,,,,var  id=User.Claims.SingleOrDefault (c =祝辞,c.Type ==, ClaimTypes.Sid) value;   ,,,,,,,,,,,显示数据(“信息”),=,“用户标识:“+,id;   ,   ,,,,,,,,,,,return 视图();   ,,,,,,,}   ,   ,,,,,,,public  IActionResult  NoPermission ()   ,,,,,,,{   ,,,,,,,,,,,return 视图();   ,,,,,,,}   ,   ,,,,,,,///,& lt; summary>   ,,,,,,,///,允许所有登录者   ,,,,,,,///,& lt;/summary>   ,,,,,,,///,& lt; param  name=" returnUrl祝辞如果用户访问的不是登录页,returnUrl将把这个url传进来,待登录成功后返回这个地址& lt;/param>   ,,,,,,,///,& lt; returns> & lt;/returns>   ,,,,,,,(AllowAnonymous)   ,,,,,,,(HttpGet(“登录”))   ,,,,,,,public  IActionResult 登录(string  returnUrl)   ,,,,,,,{   ,,,,,,,,,,,//判断是否验证   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

asp.net核心web页面验证