From b2ad000e07e1c87d3561b5aa94fdc88c779872f0 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期二, 18 二月 2025 22:34:54 +0800 Subject: [PATCH] 1 --- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Core/Authorization/AuthorizationResponse.cs | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 46 insertions(+), 0 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Authorization/AuthorizationResponse.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Authorization/AuthorizationResponse.cs" new file mode 100644 index 0000000..3db0e6a --- /dev/null +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Authorization/AuthorizationResponse.cs" @@ -0,0 +1,46 @@ +锘縰sing Microsoft.AspNetCore.Mvc.Filters; +using Microsoft.AspNetCore.Mvc; +using System; +using System.Collections.Generic; +using System.IdentityModel.Tokens.Jwt; +using System.Linq; +using System.Net; +using System.Security.Claims; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.Helper; +using WIDESEA_Core.Const; + +namespace WIDESEA_Core.Authorization +{ + public static class AuthorizationResponse + { + public static AuthorizationFilterContext FilterResult( + this AuthorizationFilterContext context, + HttpStatusCode statusCode, + string message = null) + { + context.Result = new ContentResult() + { + Content = new { message, status = false, code = (int)statusCode }.Serialize(), + ContentType = "application/json", + StatusCode = (int)statusCode + }; + //Logger.Info(LoggerType.ApiAuthorize, message); + return context; + } + public static AuthorizationFilterContext Unauthorized(this AuthorizationFilterContext context, string message = null) + { + return context.FilterResult(HttpStatusCode.Unauthorized, message); + } + //涓嶉�氳繃JWT楠岃瘉鐨勶紝鐩存帴灏嗙敤鎴蜂俊鎭紦瀛樿捣鏉� + public static void AddIdentity(this AuthorizationFilterContext context, int? userId = null) + { + int _userId = userId ?? JwtHelper.GetUserId(context.HttpContext.Request.Headers[AppSecret.TokenHeaderName]); + if (_userId <= 0) return; + //灏嗙敤鎴稩d缂撳瓨鍒颁笂涓嬫枃(鎴栬�呰嚜瀹氫竴涓璞★紝閫氳繃DI浠ddScoped鏂瑰紡娉ㄥ叆涓婁笅鏂囨潵绠$悊鐢ㄦ埛淇℃伅) + var claims = new Claim[] { new Claim(JwtRegisteredClaimNames.Jti, _userId.ToString()) }; + context.HttpContext.User.AddIdentity(new ClaimsIdentity(claims)); + } + } +} -- Gitblit v1.9.3