public LoginModel( SignInManager <IdentityUser> signInManager, ILogger <LoginModel> logger, IOptions <IdentityDefaultOptions> identityDefaultOptions ) { _signInManager = signInManager; _logger = logger; _identityDefaultOptions = identityDefaultOptions.Value; }
AdminAuthenticationHandler(IOptionsMonitor <AdminAuthenticationOptions> options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock, UserManager <ApplicationUser> userManager, IOptions <AppSettings> appSettings, IOptions <DataProtectionKeys> dataProtectionKeys, IServiceProvider provider, IOptions <IdentityDefaultOptions> identityDefaultOptions) : base(options, logger, encoder, clock) { _userManager = userManager; _appSettings = appSettings.Value; _identityDefaultOptions = identityDefaultOptions.Value; _provider = provider; _dataProtectionKeys = dataProtectionKeys.Value; }
//dependency injection through constructor, to directly access services public MembershipController( Services.Security.ICommon security, IOptions <IdentityDefaultOptions> identityDefaultOptions, IOptions <SuperAdminDefaultOptions> superAdminDefaultOptions, ApplicationDbContext context, UserManager <IdentityUser> userManager ) { _security = security; _identityDefaultOptions = identityDefaultOptions.Value; _superAdminDefaultOptions = superAdminDefaultOptions.Value; _context = context; _userManager = userManager; }
public RegisterModel( UserManager <IdentityUser> userManager, SignInManager <IdentityUser> signInManager, ILogger <RegisterModel> logger, IEmailSender emailSender, IOptions <IdentityDefaultOptions> identityDefaultOptions ) { _userManager = userManager; _signInManager = signInManager; _logger = logger; _emailSender = emailSender; _identityDefaultOptions = identityDefaultOptions.Value; }
public ChangePasswordModel( UserManager <IdentityUser> userManager, SignInManager <IdentityUser> signInManager, ILogger <ChangePasswordModel> logger, IOptions <IdentityDefaultOptions> identityDefaultOptions, IOptions <SuperAdminDefaultOptions> superAdminDefaultOptions ) { _userManager = userManager; _signInManager = signInManager; _logger = logger; _identityDefaultOptions = identityDefaultOptions.Value; _superAdminDefaultOptions = superAdminDefaultOptions.Value; }
public IndexModel( UserManager <IdentityUser> userManager, SignInManager <IdentityUser> signInManager, IEmailSender emailSender, IOptions <IdentityDefaultOptions> identityDefaultOptions, IOptions <SuperAdminDefaultOptions> superAdminDefaultOptions ) { _userManager = userManager; _signInManager = signInManager; _emailSender = emailSender; _identityDefaultOptions = identityDefaultOptions.Value; _superAdminDefaultOptions = superAdminDefaultOptions.Value; }
public static async Task Initialize(IServiceProvider serviceProvider, IdentityDefaultOptions identityProperties) { var userManager = serviceProvider.GetRequiredService <CustomUserManager>(); var roleManager = serviceProvider.GetRequiredService <RoleManager <IdentityRole> >(); string[] roles = new string[] { "Administrators", "ContentManagers" }; foreach (var item in roles) { if (await roleManager.RoleExistsAsync(item) == false) { IdentityRole newrole = new IdentityRole(item); await roleManager.CreateAsync(newrole); } } var user = await userManager.FindByEmailAsync(identityProperties.AdminUser.EmailAddress); if (user == null) { user = new ApplicationUser() { Email = identityProperties.AdminUser.EmailAddress, NormalizedEmail = identityProperties.AdminUser.EmailAddress.ToUpper(), UserName = identityProperties.AdminUser.EmailAddress, NormalizedUserName = identityProperties.AdminUser.EmailAddress.ToUpper(), //IMPORTENT USERNAME MUST BE SAME AS EMAIL ADDRESS OTHERWISE LOGIN FAILES FirstName = "Admin", EmailConfirmed = true, }; var status = await userManager.CreateAsync(user, identityProperties.AdminUser.Password); if (status.Succeeded == true) { await userManager.AddToRoleAsync(user, "Administrators"); } } }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDataProtection().SetApplicationName("Vinarish") .PersistKeysToDbContext <ApplicationDbContext>(); services.Configure <RequestLocalizationOptions>(options => { options.DefaultRequestCulture = new Microsoft.AspNetCore.Localization.RequestCulture("fa-IR"); options.SupportedCultures = new List <CultureInfo> { new CultureInfo("fa-IR") }; }); services.AddDbContext <ApplicationDbContext>(options => options.UseSqlServer( Configuration.GetConnectionString("DefaultConnection")));//.UseLazyLoadingProxies() // Get Identity Default Options IConfigurationSection identityDefaultOptionsConfigurationSection = Configuration.GetSection("IdentityDefaultOptions"); services.Configure <IdentityDefaultOptions>(identityDefaultOptionsConfigurationSection); IdentityDefaultOptions identityDefaultOptions = identityDefaultOptionsConfigurationSection.Get <IdentityDefaultOptions>(); services.AddIdentity <VinarishUser, IdentityRole>(options => { // Password settings options.Password.RequireDigit = identityDefaultOptions.PasswordRequireDigit; options.Password.RequiredLength = identityDefaultOptions.PasswordRequiredLength; options.Password.RequireNonAlphanumeric = identityDefaultOptions.PasswordRequireNonAlphanumeric; options.Password.RequireUppercase = identityDefaultOptions.PasswordRequireUppercase; options.Password.RequireLowercase = identityDefaultOptions.PasswordRequireLowercase; options.Password.RequiredUniqueChars = identityDefaultOptions.PasswordRequiredUniqueChars; // Lockout settings options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(identityDefaultOptions.LockoutDefaultLockoutTimeSpanInMinutes); options.Lockout.MaxFailedAccessAttempts = identityDefaultOptions.LockoutMaxFailedAccessAttempts; options.Lockout.AllowedForNewUsers = identityDefaultOptions.LockoutAllowedForNewUsers; // User settings options.User.RequireUniqueEmail = identityDefaultOptions.UserRequireUniqueEmail; // email confirmation require options.SignIn.RequireConfirmedEmail = identityDefaultOptions.SignInRequireConfirmedEmail; }) .AddEntityFrameworkStores <ApplicationDbContext>() .AddDefaultTokenProviders(); // cookie settings services.ConfigureApplicationCookie(options => { // Cookie settings options.Cookie.HttpOnly = identityDefaultOptions.CookieHttpOnly; options.Cookie.Expiration = TimeSpan.FromDays(identityDefaultOptions.CookieExpiration); options.LoginPath = identityDefaultOptions.LoginPath; // If the LoginPath is not set here, ASP.NET Core will default to /Account/Login options.LogoutPath = identityDefaultOptions.LogoutPath; // If the LogoutPath is not set here, ASP.NET Core will default to /Account/Logout options.AccessDeniedPath = identityDefaultOptions.AccessDeniedPath; // If the AccessDeniedPath is not set here, ASP.NET Core will default to /Account/AccessDenied options.SlidingExpiration = identityDefaultOptions.SlidingExpiration; }); // Get Super Admin Default options services.Configure <SuperAdminDefaultOptions>(Configuration.GetSection("SuperAdminDefaultOptions")); services.AddTransient <IRoles, Roles>(); services.AddTransient <IFunctional, Functional>(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); services.AddAuthorization(); }