SCMS_API / SCMS.Domain /Security /CurrentUserExtensions.cs
P-Wint's picture
Sync from GitHub via hub-sync
ea34bc9 verified
Raw
History Blame Contribute Delete
581 Bytes
using System.Security.Claims;
namespace SCMS.Domain.Security
{
public static class CurrentUserExtensions
{
public static int? GetUserId(this ClaimsPrincipal user)
{
var raw = user.FindFirstValue(ClaimTypes.NameIdentifier)
?? user.FindFirstValue("sub");
return int.TryParse(raw, out var userId) ? userId : null;
}
public static bool IsStaff(this ClaimsPrincipal user)
=> user.IsInRole("owner")
|| user.IsInRole("admin")
|| user.IsInRole("doctor");
}
}