S projektem Fluent Security nemám žádné praktické zkušenosti, ale podle toho co je uvedené na stránce http://www.fluentsecurity.net/getting-st... se "chytá" pouze toho co se mu předá v konfiguraci GetAuthenticationStatusFrom a GetRolesFrom (viz příklad):
configuration.GetAuthenticationStatusFrom(() => HttpContext.Current.User.Identity.IsAuthenticated);
// Let FluentSecurity know how to get the roles for the current user
configuration.GetRolesFrom(() => MySecurityHelper.GetCurrentUserRoles());
tj. v tomto případě IsAuthenticated na aktuální Identity a nějakým způsobem vrácený seznam rolí.HttpContext.Current.User.Identity.IsAuthenticated bude s největší pravděpodobností takto vyhovovat úplně vždy, takže je pouze potřeba nějakým způsobem získat ten seznam rolí. To by mohlo být nějak takto:
var identity = (ClaimsIdentity)HttpContext.Current.User.Identity;
var roles = (from c in identity.Claims
where c.Type == identity.RoleClaimType
select c.Value).ToList();
|