码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2018-08-29 19:57:38      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:last   error   ram   home   tab   gif   com   turn   red   

添加角色属性查看

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查看(七)

标签:last   error   ram   home   tab   gif   com   turn   red   

原文地址:https://www.cnblogs.com/LiuFengH/p/9556322.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!