zoukankan      html  css  js  c++  java
  • mvc core2.1 Identity.EntityFramework Core 用户Claims查看(七)

    添加角色属性查看

    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());
            }
            
        }
    }
  • 相关阅读:
    tensorflow2.0——手写数据集预测(多元逻辑回归)
    tensorflow2.0——鸢尾花数据集的一元分类
    tensorflow2.0——实现波士顿房价数据集的分类问题
    tensorflow2.0——代码实现一元逻辑回归
    tensorflow2.0——交叉熵损失函数
    tensorflow2.0——波士顿房价数据预测(3)
    子序列计数
    HDU 5687 Problem C
    linux中巧用ctrl-z后台运行程序
    Failed to set MokListRT: Invalid Parameter Something as gone seriously wrong: import_mok_state() failed: Invalid Parameter
  • 原文地址:https://www.cnblogs.com/LiuFengH/p/9556322.html
Copyright © 2011-2022 走看看