using System; using System.Collections.Generic; using System.Security.Principal; using System.Text; using System.Linq; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.AspNetCore.Authorization; using GreenTree.Strohrmann.ERP.Domain.Model; using System.Security.Claims; namespace GreenTree.Strohrmann.ERP.Services.Authorization { public class CookieAuthorizationService : IAuthorizationService { #region Implementation /// /// Check wether the user has a specific policy /// /// The user identity. /// The policy to be checked. public bool UserHasPolicy(IIdentity identity, string policy) { var claimsIdentity = identity as ClaimsIdentity; if (claimsIdentity == null) return false; return claimsIdentity.Claims .Any(c => c.Type == "Policy" && c.Value == policy); } #endregion } }