OL.FrameCore.WebUI/Controllers/ControllerBase.cs

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
using OL.FrameCore.Application;
using Microsoft.AspNetCore.Authorization;
using OL.FrameCore.WebUI.Code;
using OL.FrameCore.Infrastructure.Utility;
using OL.FrameCore.Infrastructure.Security;
using Microsoft.AspNetCore.Http;

namespace OL.FrameCore.WebUI.Controllers
{
    /// <summary>
    /// 基类控制器,提供获取用户id、用户姓名、返回封装json结果等
    /// </summary>
    [Authorize]
    [ServiceFilter(typeof(VisitFilterAttribute))]//构造函数带参数的方式,Startup中需注册services.AddScoped<VisitFilterAttribute>()
    public class ControllerBase : Controller
    {
        //private readonly IHttpContextAccessor _httpContextAccessor;
        public ControllerBase()
        {

        }


        public int UserId
        {
            get
            {
                string user = User.Identity.Name;
                var claim = User.Claims.Where(c => c.Type == ClaimTypes.Sid).Single();
                return int.Parse(claim.Value);
            }
        }

        public string UserName
        {
            get
            {
                if (User == null || User.Identity == null || User.Identity.Name == null)
                    return "";

                string user = User.Identity.Name;
                return user;
            }
        }

        public string TrueName
        {
            get
            {
                //string user = User.Identity.Name;
                var claim = User.Claims.Where(c => c.Type == "TrueName").Single();
                return claim.Value;
            }
        }
后面还有 119 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。