Saving
This commit is contained in:
1 parent
9719a0c0fd
commit
1e66851113
146 files changed
+738
-382
No files matched your search
@@ -0,0 +1,36 @@
|
||||
using PrivaPub.ClientModels;
|
||||
|
||||
using System.Security.Claims;
|
||||
|
||||
namespace PrivaPub.Extensions
|
||||
{
|
||||
public static class StringExtensions
|
||||
{
|
||||
public static string GetUserId(this ClaimsPrincipal claimsPrincipal)
|
||||
{
|
||||
return claimsPrincipal?.Claims?.FirstOrDefault(c => c.Type == ClaimTypes.UserData)?.Value;
|
||||
}
|
||||
|
||||
public static string GetUserName(this ClaimsPrincipal claimsPrincipal)
|
||||
{
|
||||
var userId = claimsPrincipal.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Name)?.Value;
|
||||
return string.IsNullOrEmpty(userId) ? default : userId;
|
||||
}
|
||||
|
||||
public static List<string> GetUserPolicies(this ClaimsPrincipal claimsPrincipal)
|
||||
{
|
||||
var policies = new List<string>();
|
||||
|
||||
if (claimsPrincipal.Claims.Any(c => c.Type == Policies.IsAdmin && bool.Parse(c.Value)))
|
||||
policies.Add(Policies.IsAdmin);
|
||||
|
||||
if (claimsPrincipal.Claims.Any(c => c.Type == Policies.IsUser && bool.Parse(c.Value)))
|
||||
policies.Add(Policies.IsUser);
|
||||
|
||||
if (claimsPrincipal.Claims.Any(c => c.Type == Policies.IsModerator && bool.Parse(c.Value)))
|
||||
policies.Add(Policies.IsModerator);
|
||||
|
||||
return policies;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user