分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

mvc core2.1 Identity.EntityFramework Core 用户Claims查看(七)

发布时间:2023-09-06 02:12责任编辑:熊小新关键词:暂无标签

添加角色属性查看

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved