添加角色属性查看
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()); } } }
原文地址:https://www.cnblogs.com/LiuFengH/p/9556322.html
时间: 2024-10-11 01:19:35