| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- using System.Security.Claims;
- using Abp.Runtime.Session;
- using VberZero.Authorization;
- using VberZero.BaseSystem.Users;
- namespace VberZero.Session;
- public static class VzSessionExtensions
- {
- public static bool IsUser(this IVzSession session, User user)
- {
- if (session == null)
- {
- throw new ArgumentNullException(nameof(session));
- }
- if (user == null)
- {
- throw new ArgumentNullException(nameof(user));
- }
- return session.TenantId == user.TenantId &&
- session.UserId.HasValue &&
- session.UserId.Value == user.Id;
- }
- public static string GetUserName(this IVzSession session)
- {
- return GetClaimValue(session, VzClaimTypes.UserName);
- }
- public static string GetAccountNo(this IVzSession session)
- {
- return GetClaimValue(session, VzClaimTypes.AccountNo);
- }
- public static VzDefinition.AccountType GetAccountType(this IVzSession session)
- {
- try
- {
- var temp = GetClaimValue<int>(session, VzClaimTypes.AccountType);
- if (temp != null)
- {
- return (VzDefinition.AccountType)temp;
- }
- }
- catch
- {
- //
- }
- return default;
- }
- public static VzDefinition.UserType GetUserType(this IVzSession session)
- {
- try
- {
- var temp = GetClaimValue<int>(session, VzClaimTypes.UserType);
- if (temp != null)
- {
- return (VzDefinition.UserType)temp;
- }
- }
- catch
- {
- //
- }
- return default;
- }
- public static T? GetClaimValue<T>(this IVzSession session, string claimTypes)
- where T : struct
- {
- var claimValue = GetClaimValue(session, claimTypes);
- if (string.IsNullOrEmpty(claimValue))
- return null;
- var result = (T)Convert.ChangeType(claimValue, typeof(T));
- return result;
- }
- public static string GetClaimValue(this IVzSession session, string claimTypes)
- {
- var claim = session.GetClaimValueStr(claimTypes);
- return claim ?? "";
- }
- public static Claim GetClaim(string type)
- {
- ClaimsPrincipal principal = DefaultPrincipalAccessor.Instance.Principal;
- Claim claim = principal?.Claims.FirstOrDefault(c => c.Type == type);
- return claim;
- }
- }
|