示例#1
0
        /// <summary>
        ///     Constructor
        /// </summary>
        /// <param name="store">The IRoleStore commits changes via the UpdateAsync/CreateAsync methods</param>
        /// <param name="roleValidators">IEnumerable of role validators</param>
        /// <param name="keyNormalizer">user property normalizers</param>
        /// <param name="errors">IdentityErrorDescribers</param>
        /// <param name="logger">Logger for RoleManager</param>
        /// <param name="contextAccessor">HttpContext accessor object</param>
        public RoleManager(IRoleStore <TRole> store,
                           IEnumerable <IRoleValidator <TRole> > roleValidators,
                           ILookupNormalizer keyNormalizer,
                           IdentityErrorDescriber errors,
                           ILogger <RoleManager <TRole> > logger,
                           IHttpContextAccessor contextAccessor)
        {
            if (store == null)
            {
                throw new ArgumentNullException(nameof(store));
            }
            Store          = store;
            KeyNormalizer  = keyNormalizer ?? new UpperInvariantLookupNormalizer();
            ErrorDescriber = errors ?? new IdentityErrorDescriber();
            _context       = contextAccessor?.HttpContext;
            Logger         = logger;

            if (roleValidators != null)
            {
                foreach (var v in roleValidators)
                {
                    RoleValidators.Add(v);
                }
            }
        }
示例#2
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="store">The IRoleStore commits changes via the UpdateAsync/CreateAsync methods</param>
        /// <param name="roleValidator"></param>
        public RoleManager(IRoleStore <TRole> store,
                           IEnumerable <IRoleValidator <TRole> > roleValidators = null,
                           ILookupNormalizer keyNormalizer = null,
                           IdentityErrorDescriber errors   = null,
                           ILoggerFactory loggerFactory    = null)
        {
            if (store == null)
            {
                throw new ArgumentNullException("store");
            }
            Store          = store;
            KeyNormalizer  = keyNormalizer ?? new UpperInvariantLookupNormalizer();
            ErrorDescriber = errors ?? new IdentityErrorDescriber();

            if (roleValidators != null)
            {
                foreach (var v in roleValidators)
                {
                    RoleValidators.Add(v);
                }
            }

            loggerFactory = loggerFactory ?? new LoggerFactory();
            Logger        = loggerFactory.Create(nameof(RoleManager <TRole>));
        }
        public MongoRoleClaimStore(IOptions <MongoDbSettings> options, IEnumerable <IRoleValidator <TRole> > roleValidators, ILogger <MongoRoleClaimStore <MongoIdentityRole> > logger, ILookupNormalizer keyNormalizer)
        {
            var database = new MongoClient(options.Value.ConnectionString).GetDatabase(options.Value.Database);

            roles = database.GetCollection <TRole>("Roles");
            if (roleValidators != null)
            {
                foreach (var v in roleValidators)
                {
                    RoleValidators.Add(v);
                }
            }
            this.logger        = logger;
            this.keyNormalizer = keyNormalizer;
        }
示例#4
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="store">The IRoleStore commits changes via the UpdateAsync/CreateAsync methods</param>
        /// <param name="roleValidator"></param>
        public RoleManager(IRoleStore <TRole> store, IEnumerable <IRoleValidator <TRole> > roleValidators)
        {
            if (store == null)
            {
                throw new ArgumentNullException("store");
            }
            Store = store;

            if (roleValidators != null)
            {
                foreach (var v in roleValidators)
                {
                    RoleValidators.Add(v);
                }
            }
        }
示例#5
0
        /// <summary>
        /// Constructs a new instance of <see cref="RoleManager{TRole}"/>.
        /// </summary>
        /// <param name="store">The persistence store the manager will operate over.</param>
        /// <param name="roleValidators">A collection of validators for roles.</param>
        /// <param name="keyNormalizer">The normalizer to use when normalizing role names to keys.</param>
        /// <param name="errors">The <see cref="IdentityErrorDescriber"/> used to provider error messages.</param>
        /// <param name="logger">The logger used to log messages, warnings and errors.</param>
        public RoleManager(IRoleStore <TRole> store,
                           IEnumerable <IRoleValidator <TRole> > roleValidators,
                           ILookupNormalizer keyNormalizer,
                           IdentityErrorDescriber errors,
                           ILogger <RoleManager <TRole> > logger) : base(store)
        {
            Store          = store ?? throw new ArgumentNullEx(nameof(store));
            KeyNormalizer  = keyNormalizer;
            ErrorDescriber = errors;
            Logger         = logger;

            if (roleValidators != null)
            {
                foreach (var v in roleValidators)
                {
                    RoleValidators.Add(v);
                }
            }
        }