Exemple #1
0
        public async Task Invoke(HttpContext context, IPermissionsCache permissionsCache, IAuthRepository authRepo)
        {
            string serial        = context.Request.Headers[BeepClaimTypes.PermissionsSerial];
            int    environmentId = Convert.ToInt32(context.Request.Headers[BeepClaimTypes.EnvironmentId]);
            int    userId        = Convert.ToInt32(context.User.FindFirst(ClaimTypes.NameIdentifier)?.Value);

            if (!string.IsNullOrEmpty(serial) && serial.ToLower() != "updating" &&
                environmentId > 0 && userId > 0)
            {
                PermissionsChacheResult chacheResult = permissionsCache.SerialsMatch(userId, environmentId, serial);
                switch (chacheResult)
                {
                case PermissionsChacheResult.DoNotMatch:
                    context.Response.AddCustomHeader("permissions_changed", "true");
                    break;

                case PermissionsChacheResult.NotCached:
                    IEnumerable <Permission> userPermissions = authRepo.GetAllUserPermissions(userId).Result;
                    permissionsCache.AddEntriesForUser(userId, userPermissions);
                    break;
                }
            }

            await _next(context);
        }
 public ApplicationSettingsServiceBase(ApplicationSettingsServiceDependencies deps) : base(deps.Context)
 {
     _settingsCache    = deps.SettingsCache;
     _permissionsCache = deps.PermissionsCache;
     _behavior         = deps.Behavior;
     _metadataProvider = deps.MetadataProvider;
 }
        public static async Task <IEnumerable <AbstractPermission> > GenericPermissionsFromCache(
            this IPermissionsCache cache,
            int tenantId,
            int userId,
            string version,
            string viewPrefix,
            string action,
            CancellationToken cancellation)
        {
            var permissions = (await cache.GetPermissionss(userId, tenantId, version, cancellation)).Data.Permissions;

            // Apply view filter
            permissions = permissions.Where(e => e.View.StartsWith(viewPrefix) || e.View == "all");

            // Apply action filter (read action is implicity in all
            if (action != PermissionActions.Read)
            {
                permissions = permissions.Where(e => e.Action == action || e.Action == "All");
            }

            // Return
            return(permissions.Select(p => new AbstractPermission
            {
                Action = p.Action,
                Criteria = p.Criteria,
                Mask = null,
                View = p.View
            }));
        }
Exemple #4
0
 public LookupsGenericService(ApplicationFactServiceBehavior behavior,
                              FactServiceDependencies deps,
                              IPermissionsCache permissionsCache) : base(deps)
 {
     _behavior         = behavior;
     _permissionsCache = permissionsCache;
 }
Exemple #5
0
 public PermissionsService(
     ApplicationServiceBehavior behavior,
     IServiceContextAccessor accessor,
     IPermissionsCache permissionsCache) : base(accessor)
 {
     _behavior         = behavior;
     _permissionsCache = permissionsCache;
 }
 public UsersController(IUserRepository repo, IMapper mapper, IPermissionsCache permissionsCache,
                        IAuthorizationService authService, UserManager <User> userManager, IBeepMailer mailer)
 {
     _repo             = repo;
     _mapper           = mapper;
     _permissionsCache = permissionsCache;
     _authService      = authService;
     _userManager      = userManager;
     _mailer           = mailer;
 }
 public ReconciliationService(
     ApplicationServiceBehavior behavior,
     IServiceContextAccessor accessor,
     MetadataProvider metadata,
     IPermissionsCache permissionsCache,
     IStringLocalizer <Strings> localizer) : base(accessor)
 {
     _behavior         = behavior;
     _metadata         = metadata;
     _permissionsCache = permissionsCache;
     _localizer        = localizer;
 }
 public ApplicationSettingsServiceDependencies(
     IServiceContextAccessor context,
     ISettingsCache settingsCache,
     IPermissionsCache permissionsCache,
     ApplicationServiceBehavior behavior,
     MetadataProvider metadataProvider)
 {
     Context          = context;
     SettingsCache    = settingsCache;
     PermissionsCache = permissionsCache;
     Behavior         = behavior;
     MetadataProvider = metadataProvider;
 }
 public AuthController(IAuthRepository authRepo, IUserRepository userRepo, IMapper mapper, IConfiguration config,
                       IPermissionsCache permissionsCache, IBeepMailer mailer, UserManager <User> userManager, SignInManager <User> signInManager)
 {
     _authRepo             = authRepo;
     _userRepo             = userRepo;
     _mapper               = mapper;
     _permissionsCache     = permissionsCache;
     _mailer               = mailer;
     _userManager          = userManager;
     _signInManager        = signInManager;
     _tokenLifeTimeSeconds = Convert.ToInt32(config.GetSection("AppSettings:TokenLifeTime").Value);
     _tokenSecretKey       = config.GetSection("AppSettings:Token").Value;
 }
Exemple #10
0
 public AuthController(IAuthRepository authRepo, IUserRepository userRepo, IMapper mapper, IConfiguration config,
                       IPermissionsCache permissionsCache, IBeepMailer mailer, UserManager <User> userManager, SignInManager <User> signInManager,
                       TokenValidationParameters tokenValidationParameters)
 {
     _authRepo                  = authRepo;
     _userRepo                  = userRepo;
     _mapper                    = mapper;
     _permissionsCache          = permissionsCache;
     _mailer                    = mailer;
     _userManager               = userManager;
     _signInManager             = signInManager;
     _tokenValidationParameters = tokenValidationParameters;
     _appSettings               = config.GetSection("AppSettings");
     _tokenSecretKey            = config.GetSection("AppSettings:Token").Value;
     _tokenLifeTime             = TimeSpan.FromSeconds(Convert.ToInt32(_appSettings["TokenLifeTime"]));
 }
 public AdminUserService(
     IAdminUsersRepository adminUsersRepository,
     ICredentialsClient credentialsClient,
     ICustomerProfileClient customerProfileClient,
     IPermissionsService permissionsService,
     ILogFactory logFactory,
     INotificationsService notificationsService,
     IPermissionsCache permissionsCache)
 {
     _adminUsersRepository  = adminUsersRepository;
     _credentialsClient     = credentialsClient;
     _customerProfileClient = customerProfileClient;
     _permissionsService    = permissionsService;
     _notificationsService  = notificationsService;
     _permissionsCache      = permissionsCache;
     _log = logFactory.CreateLog(this);
 }
 public MessageCommandsService(ApplicationFactServiceBehavior behavior, IPermissionsCache permissionsCache, FactServiceDependencies deps) : base(deps)
 {
     _behavior         = behavior;
     _permissionsCache = permissionsCache;
 }
Exemple #13
0
 public HasEnvironmentPermissionRequirementHandler(IPermissionsCache cache)
 {
     _permissionsCache = cache;
 }
Exemple #14
0
 public BeepBearerEvents(IPermissionsCache cache, IAuthRepository authRepo)
 {
     _cache    = cache;
     _authRepo = authRepo;
 }
Exemple #15
0
 public HasChangePermissionRequirementHandler(IPermissionsCache permissionsCache)
 {
     _permissionsCache = permissionsCache;
 }