mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-08-22 12:37:24 +01:00
Fix role distribution
This commit is contained in:
@@ -85,12 +85,15 @@ namespace Tgstation.Server.Host.Controllers
|
||||
var authenticationContext = authenticationContextFactory.CurrentAuthenticationContext;
|
||||
|
||||
var enumerator = Enum.GetValues(typeof(RightsType));
|
||||
var claims = new List<Claim>
|
||||
{
|
||||
Capacity = enumerator.Length
|
||||
};
|
||||
var claims = new List<Claim>();
|
||||
foreach (RightsType I in enumerator)
|
||||
claims.Add(new Claim(ClaimTypes.Role, RightsHelper.RoleName(I, authenticationContext.GetRight(I))));
|
||||
{
|
||||
var rightInt = authenticationContext.GetRight(I);
|
||||
var right = (Enum)(ValueType)authenticationContext.GetRight(I);
|
||||
foreach(Enum J in Enum.GetValues(RightsHelper.RightToType(I)))
|
||||
if(right.HasFlag(J))
|
||||
claims.Add(new Claim(ClaimTypes.Role, RightsHelper.RoleName(I, rightInt)));
|
||||
}
|
||||
|
||||
context.Principal.AddIdentity(new ClaimsIdentity(claims));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user