src/Framework/Utils/Utils.Mvc/Extensions/HttpContextAccessorExtensions.cs

(完整代码) 1KB

using System;
using Microsoft.AspNetCore.Http;

namespace NetModular.Lib.Utils.Mvc.Extensions
{
    public static class HttpContextAccessorExtensions
    {
        public static Guid GetClaim2Guid(this IHttpContextAccessor accessor,string type)
        {
            var claim = accessor?.HttpContext?.User?.FindFirst(type);

            if (claim != null && claim.Value.NotNull())
            {
                return new Guid(claim.Value);
            }

            return Guid.Empty;
        }

        public static int GetClaim2Int(this IHttpContextAccessor accessor, string type)
        {
            var claim = accessor?.HttpContext?.User?.FindFirst(type);

            if (claim != null && claim.Value.NotNull())
            {
                return claim.Value.ToInt();
            }

            return 0;
        }

        public static long GetClaim2Long(this IHttpContextAccessor accessor, string type)
        {
            var claim = accessor?.HttpContext?.User?.FindFirst(type);

            if (claim != null && claim.Value.NotNull())
            {
                return claim.Value.ToLong();
            }

            return 0L;
        }

        public static string GetClaim2String(this IHttpContextAccessor accessor, string type)
        {
            var claim = accessor?.HttpContext?.User?.FindFirst(type);

            if (claim != null && claim.Value.NotNull())
            {
                return claim.Value;
            }

            return string.Empty;
        }
    }
}

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

AI 解读

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

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