添加角色属性查看
Views ->Shared->_Layout.cshtml
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a asp-area="" asp-controller="Home" asp-action="Index">Home</a></li>
<li><a asp-area="" asp-controller="Home" asp-action="About">About</a></li>
<li><a asp-area="" asp-controller="Home" asp-action="Contact">Contact</a></li>
<li><a asp-area="" asp-controller="Account" asp-action="Index">Account</a></li>
<li><a asp-area="" asp-controller="Claims" asp-action="Index">Claims</a></li> //加这句
Controllers->ClaimsController.cs 新建
using System;using System.Collections.Generic;using System.Diagnostics;using System.Linq;using System.Threading.Tasks;using Microsoft.AspNetCore.Mvc;using IdentityMvc.Models;using Microsoft.AspNetCore.Identity;using Microsoft.AspNetCore.Authorization;using IdentityMvc.Models.AccountViewModels;using Microsoft.AspNetCore.Authentication;using System.ComponentModel.DataAnnotations;using Microsoft.EntityFrameworkCore;using System.Security.Claims;namespace IdentityMvc.Controllers { ???public class ClaimsController : Controller ????{ ???????[Authorize] ???????public ActionResult Index() { ???????????ClaimsIdentity ident = HttpContext.User.Identity as ClaimsIdentity; ???????????if (ident == null) { ???????????????return View("Error", new string[] { "No claims available" }); ???????????} else { ???????????????return View(ident.Claims); ???????????} ???????} ???}}
Views->Claims->Index.cshtml 新建
@using System.Security.Claims@using IdentityMvc.App_Code@model IEnumerable<Claim>@{ ViewBag.Title = "Claims"; }<div class="panel panel-primary"> ???<div class="panel-heading"> ???????Claims ???</div> ???<table class="table table-striped"> ???????<tr> ???????????<th>Subject</th><th>Issuer</th> ???????????<th>Type</th><th>Value</th> ???????</tr> ???????@foreach (Claim claim in Model.OrderBy(x => x.Type)) { ???????????<tr> ???????????????<td>@claim.Subject.Name</td> ???????????????<td>@claim.Issuer</td> ???????????????<td> ???????????????????@{ ??????????????????????IdentityHelpers dd= new IdentityHelpers(); ?????????????????????@Html.Raw( dd.ClaimType(@claim.Type)); ???????????????????} ????????????????????</td> ???????????????<td>@claim.Value</td> ???????????</tr> ???????} ???</table></div>
App_Code->IdentityHelpers.cs 新建
using System;using System.Linq;using System.Reflection;using System.Security.Claims;namespace IdentityMvc.App_Code { ????public ?class IdentityHelpers { ???????public ?string ?ClaimType( string claimType) { ???????????????return string.Format("{0}", claimType.Split(‘/‘, ‘.‘).Last()); ???????} ???????????}}
mvc core2.1 Identity.EntityFramework Core 用户Claims查看(七)
原文地址:https://www.cnblogs.com/LiuFengH/p/9556322.html