123456789101112131415161718192021222324252627282930313233343536373839404142 |
- using System;
- using System.Collections.Generic;
- using System.Security.Claims;
- using System.Security.Principal;
- using System.Text;
- using System.Threading.Tasks;
- using XYY.Common.Standard;
- using System.Linq;
- namespace XYY.Authentication.Standard
- {
- public static class UserContentCoreUnit
- {
- public static UserContent GetUserContent(this ClaimsPrincipal principal)
- {
- /*
-
- new Claim(ClaimTypes.NameIdentifier,user.Id.ToString()),
- new Claim(ClaimTypes.Name,user.NiceName),
- new Claim(ClaimTypes.GroupSid,user.CustomerId.ToString()),
- new Claim(ClaimTypes.Role,string.Join(",",user.Roles)),
- new Claim(ClaimTypes.AuthorizationDecision,string.Join(",",user.PrivilegeUrl))
- */
- UserContent userContent = new UserContent();
- try
- {
- userContent.Id = int.Parse(principal.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value ?? "0");
- userContent.CustomerId = int.Parse(principal.Claims.FirstOrDefault(x => x.Type == ClaimTypes.GroupSid)?.Value ?? "0");
- userContent.NiceName = principal.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Name)?.Value;
- userContent.IsAuthorization = true;
- userContent.Roles = principal.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Role)?.Value.Split(',').ToList();
- userContent.PrivilegeUrl = principal.Claims.FirstOrDefault(x => x.Type == ClaimTypes.AuthorizationDecision)?.Value.Split(',').ToList();
- }
- catch (Exception ex)
- {
- userContent.IsAuthorization = false;
- }
- return userContent;
- }
- }
- }
|