public AppUserManager(AppUserStore store) : base(store) { var provider = new DpapiDataProtectionProvider("SweetHome"); UserTokenProvider = new DataProtectorTokenProvider <AppUser, long>(provider.Create("EmailConfirmation")); }
private void CreateNewUserStore() { userStore = new AppUserStore(Context) { AutoSaveChanges = false }; }
private static void CreateSampleUser(BackboneContext context) { // Managers & stores & repositories var userStore = new AppUserStore(context); var userManager = new UserManager <User, int>(userStore); // Sample user var sampleUserName = "******"; var sampleEmail = "*****@*****.**"; var sampleUser = new User(sampleUserName, sampleEmail) { EmailConfirmed = true, EmailConfirmationSentOn = DateTime.UtcNow, HasPassword = true }; var sampleUserPassword = DateTime.Now.ToString("yyyyMMdd"); userManager.Create(sampleUser, sampleUserPassword); context.SaveChanges(); // Add to regular role userManager.AddToRole(sampleUser.Id, "Regular"); context.SaveChanges(); // Login as (required in order to save the rest of the items) Security.LoginAs(sampleUser.Id, "Regular"); // First save context.SaveChanges(); }
public RolesController() { var dbContext = new BackboneContext(); var appUserStore = new AppUserStore(dbContext); var appRoleStore = new AppRoleStore(dbContext); _userManager = new AppUserManager(appUserStore, appRoleStore); }
public LiteUser GetUserAttributes(IOwinContext context, int userId) { var userStore = new AppUserStore <AppUser>(context.Get <IdentityDatabaseContext <AppUser, IdentityRole> >()); var user = userStore.GetUserAttributes(userId); return(user); }
public UsersController() { var dbContext = new WealthEconomyContext(); var appUserStore = new AppUserStore(dbContext); var appRoleStore = new AppRoleStore(dbContext); _userManager = new AppUserManager(appUserStore, appRoleStore); }
private static AppUserManager CreateUserManager(IdentityFactoryOptions <AppUserManager> options, IOwinContext context) { var dbContext = context.Get <AirlineDbContext>(); var store = new AppUserStore(dbContext); var logger = LoggerFactory.GetServiceLogger(typeof(AppUserManager).FullName); return(new AppUserManager(store, logger)); }
public static void RegisterComponents() { var container = new UnityContainer(); // register all your components with the container here // it is NOT necessary to register your controllers // e.g. container.RegisterType<ITestService, TestService>(); var webApiUri = ConfigurationManager.AppSettings["webApiUri"].ToString(); container.RegisterInstance <IApiProvider>(new ApiProvider(webApiUri)); var userStore = new AppUserStore <AppUser>(); var userManager = new AppUserManager(userStore); container.RegisterInstance <AppUserManager>(userManager); var appRoleStore = new AppRoleStore(); var appRoleManager = new AppRoleManager(appRoleStore); container.RegisterInstance <AppRoleManager>(appRoleManager); DependencyResolver.SetResolver(new UnityDependencyResolver(container)); /* * Getting started with Unity.Mvc5 * ------------------------------ - * * Unity.Mvc5 is an update of the popular Unity.Mvc3 package, updated to target .NET 4.5, MVC5 and Unity 3.0 * * To get started, just add a call to UnityConfig.RegisterComponents() in the Application_Start method of Global.asax.cs * and the MVC framework will then use the Unity.Mvc5 DependencyResolver to resolve your components. * * e.g. * * public class MvcApplication : System.Web.HttpApplication * { * protected void Application_Start() * { * AreaRegistration.RegisterAllAreas(); * UnityConfig.RegisterComponents(); // <----- Add this line * FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); * RouteConfig.RegisterRoutes(RouteTable.Routes); * BundleConfig.RegisterBundles(BundleTable.Bundles); * } * } * * Add your Unity registrations in the RegisterComponents method of the UnityConfig class. All components that implement IDisposable should be * registered with the HierarchicalLifetimeManager to ensure that they are properly disposed at the end of the request. * * It is not necessary to register your controllers with Unity. */ }
public IdentityResult CreateTenantAdminUser(User user) { var store = new AppUserStore(new BusinessDbContext()); var userManager = new UserManager(store); userManager.SetTenantId(user.TenantId); var identityResult = userManager.Create(user); return(identityResult); }
public async Task <IdentityResult> CreateTenantAdminUserAsync(User user) { var store = new AppUserStore(new SecurityDbContext()); var userManager = new UserManager(store); userManager.SetTenantId(user.TenantId); var task = await userManager.CreateAsync(user); return(task); }
public new static AppUserManager Create(IdentityFactoryOptions <AppUserManager> options, IOwinContext context) { var userStore = new AppUserStore(context.Get <AppSecurityContext>()); var manager = new AppUserManager(userStore); // Configure la lógica de validación de nombres de usuario manager.UserValidator = new AppUserValidator(manager) { AllowOnlyAlphanumericUserNames = false, RequireUniqueEmail = true, }; // Configure la lógica de validación de contraseñas manager.PasswordValidator = new PasswordValidator { RequiredLength = 6, RequireNonLetterOrDigit = false, RequireDigit = false, RequireLowercase = false, RequireUppercase = false, }; // Configurar valores predeterminados para bloqueo de usuario manager.UserLockoutEnabledByDefault = true; manager.DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5); manager.MaxFailedAccessAttemptsBeforeLockout = 5; // Registre proveedores de autenticación en dos fases. Esta aplicación usa los pasos Teléfono y Correo electrónico para recibir un código para comprobar el usuario // Puede escribir su propio proveedor y conectarlo aquí. manager.RegisterTwoFactorProvider("Código telefónico", new PhoneNumberTokenProvider <AppUser, string> { MessageFormat = "Su código de seguridad es {0}" }); manager.RegisterTwoFactorProvider("Código de correo electrónico", new EmailTokenProvider <AppUser, string> { Subject = "Código de seguridad", BodyFormat = "Su código de seguridad es {0}" }); manager.EmailService = new EmailService(); manager.SmsService = new SmsService(); var dataProtectionProvider = options.DataProtectionProvider; if (dataProtectionProvider != null) { manager.UserTokenProvider = new AppDataProtectorTokenProvider(dataProtectionProvider.Create("ASP.NET Identity")); } return(manager); }
public async Task <LiteUser> GetUserFromUniqueId(IOwinContext context, Guid uniqueId) { var userStore = new AppUserStore <AppUser>(context.Get <IdentityDatabaseContext <AppUser, IdentityRole> >()); var user = await userStore.FindByUniqueIdAsync(uniqueId); if (user != null) { return(user); } return(null); }
public void CreateTestUser() { var userStore = new AppUserStore(new AppDbContext()); var userManager = new AppUserManager(userStore); var user = new AppUser { UserName = "******", }; var result = userManager.Create(user, "123456"); if (result.Succeeded) { } }
public static void Main(string[] args) { // SimpleInjector container. _container = new Container(); // Register dependencies. SimpleInjectorInitializer.InitializeContainer(_container, Lifestyle.Singleton); _userStore = new AppUserStore <AppUser>(new IdentityDatabaseContext <AppUser, IdentityRole>()); _userManager = new UserManager <AppUser, int>(_userStore); _adminManager = _container.GetInstance <IAdminManager>(); _userManager.EmailService = new EmailService(); // Send confirmation email reminders. SendConfirmationEmailReminders().Wait(); }
public static AppUserManager Create(IdentityFactoryOptions <AppUserManager> options, IOwinContext context) { var userStore = new AppUserStore <AppUser>(context.Get <IdentityDatabaseContext <AppUser, IdentityRole> >()); var manager = new AppUserManager(userStore); // Configure validation logic for usernames manager.UserValidator = new UserValidator <AppUser, int>(manager) { AllowOnlyAlphanumericUserNames = false, RequireUniqueEmail = true }; // Configure validation logic for passwords manager.PasswordValidator = new PasswordValidator { RequiredLength = 6 }; // Configure user lockout defaults manager.UserLockoutEnabledByDefault = true; manager.DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5); manager.MaxFailedAccessAttemptsBeforeLockout = 5; // Register two factor authentication providers. This application uses Phone and Emails as a step of receiving a code for verifying the user // You can write your own provider and plug in here. // manager.RegisterTwoFactorProvider("PhoneCode", new PhoneNumberTokenProvider<AppUser, int> // { // MessageFormat = "Your security code is: {0}" // }); // manager.RegisterTwoFactorProvider("EmailCode", new EmailTokenProvider<AppUser, int> // { // Subject = "SecurityCode", // BodyFormat = "Your security code is {0}" // }); manager.EmailService = new EmailService(); var dataProtectionProvider = options.DataProtectionProvider; if (dataProtectionProvider != null) { manager.UserTokenProvider = new DataProtectorTokenProvider <AppUser, int>(dataProtectionProvider.Create("ASP.NET Identity")); } return(manager); }
public static AppUserManager CreateUserManager(IdentityFactoryOptions <AppUserManager> options, IOwinContext context) { var dbContext = context.Get <WealthEconomyContext>(); var appUserStore = new AppUserStore(dbContext); var appRoleStore = new AppRoleStore(dbContext); var manager = new AppUserManager(appUserStore, appRoleStore); // Configure validation logic for userNames manager.UserValidator = new UserValidator <User, int>(manager) { AllowOnlyAlphanumericUserNames = false, RequireUniqueEmail = true }; // Configure validation logic for passwords // TODO Review this! manager.PasswordValidator = new PasswordValidator { RequiredLength = 6, //RequireNonLetterOrDigit = true, RequireDigit = true, RequireLowercase = true, //RequireUppercase = true, }; manager.EmailService = new EmailService(); var dataProtectionProvider = options.DataProtectionProvider; if (dataProtectionProvider != null) { manager.UserTokenProvider = new DataProtectorTokenProvider <User, int>(dataProtectionProvider.Create("ASP.NET Identity")); } return(manager); }
private static User CreateUser(BackboneContext context, string userName, string email, string role) { // Managers & stores & repositories var userStore = new AppUserStore(context); var userManager = new UserManager <User, int>(userStore); // Create user var user = new User(userName, email) { EmailConfirmed = true, EmailConfirmationSentOn = DateTime.UtcNow, HasPassword = true }; var password = DateTime.Now.ToString("yyyyMMdd"); HandleResult(userManager.Create(user, password)); context.SaveChanges(); // Add to regular role HandleResult(userManager.AddToRole(user.Id, role)); context.SaveChanges(); return(user); }
private static void CreateAdminUser(BackboneContext context) { // Manager & store var userStore = new AppUserStore(context); var userManager = new UserManager <User, int>(userStore); // Admin user var adminUserName = "******"; var adminEmail = "*****@*****.**"; var adminUser = new User(adminUserName, adminEmail) { EmailConfirmed = true, EmailConfirmationSentOn = DateTime.UtcNow, HasPassword = true }; var adminUserPassword = DateTime.Now.ToString("yyyyMMdd"); userManager.Create(adminUser, adminUserPassword); context.SaveChanges(); // Add to "admin" role userManager.AddToRole(adminUser.Id, "Administrator"); context.SaveChanges(); }
public BaseController(AppUserStore userStore, UserManager <IdentityUser> userManager = null) { _userStore = userStore; _userManager = userManager; }
public UserManager(AppUserStore store) : base(store) { _userStore = store; _appSession = new AppSession(); }
public KeysController(AppUserStore userStore) : base(userStore) { }
void CreateNewUserStore() { userStore = new AppUserStore(Context); userStore.AutoSaveChanges = false; }
public ApplicationUserManager(AppUserStore store) : base(store) { }
public RegisterController(AppUserStore userStore, IEventBusPublisher eventBusPublisher) { _userStore = userStore; _eventBusPublisher = eventBusPublisher; }
public JobController(AppUserStore userStore) : base(userStore) { }
public AccountController(AppUserStore userStore) : base(userStore) { }
public AppUserManager(AppUserStore store, AppRoleStore appRoleStore) : base(store) { _roleStore = appRoleStore; }
public UserController(UserManager <IdentityUser> userManager, AppUserStore userStore) : base(userStore, userManager) { }
protected override void Seed(Magicodes.Models.Mvc.AppDbContext context) { #region 添加用户和角色 var store = new AppUserStore(context); var userManager = new UserManager <AppUser, string>(store); var roleManager = new RoleManager <AppRole>(new AppRoleStore(context)); var adminRole = new AppRole() { Id = "{74ABBD8D-ED32-4C3A-9B2A-EB134BFF5D91}", Name = "Admin", CreateTime = DateTime.Now, Deleted = false }; if (!roleManager.RoleExists(adminRole.Name)) { roleManager.Create(adminRole); } var user = new AppUser { Id = "{B0FBB2AC-3174-4E5A-B772-98CF776BD4B9}", UserName = "******", Email = "*****@*****.**", EmailConfirmed = true, Deleted = false, DisplayName = "管理员", IsActive = true, CreateTime = DateTimeOffset.Now }; if (!userManager.Users.Any(p => p.Id == user.Id)) { var result = userManager.Create(user, "123456abcD"); if (result.Succeeded) { userManager.AddToRole(user.Id, adminRole.Name); } } var magicodes = new AppUser { Id = "{84389DCE-AE1F-47A3-8C42-15058B6B4CCB}", UserName = "******", Email = "*****@*****.**", EmailConfirmed = true, Deleted = false, DisplayName = "Magicodes.NET", IsActive = true, CreateTime = DateTimeOffset.Now }; if (!userManager.Users.Any(p => p.Id == magicodes.Id)) { var result = userManager.Create(magicodes, "123456abcD"); } #endregion #region 添加角色菜单 var admin = userManager.FindById(user.Id); var role = roleManager.FindById(adminRole.Id); context.MenuLinks.ToList().ForEach(item => { if (!item.Roles.Any(p => p.Id == role.Id)) { item.Roles.Add(role); } }); context.SaveChanges(); #endregion #region 添加留言测试消息 for (int i = 0; i < 100; i++) { var siteLeaveMessage = new SiteLeaveMessage() { Id = i, Content = "网站留言测试内容" + i, CreateTime = DateTimeOffset.Now, CreateBy = magicodes.Id, Deleted = false, }; context.SiteLeaveMessages.AddOrUpdate(siteLeaveMessage); } #endregion #region 添加版本历史信息 var all = from c in context.PublishVersions select c; context.PublishVersions.RemoveRange(all); var publishVersion_1 = new Magicodes.Models.Mvc.Models.PublishVersion() { Title = "Magicodes 1.0.0.0 Beta 版", Content = "<p>测试版本,由于精力有限,尚有很多不足之处。此版目前只针对团队成员开放。</p><ul> <li>后台框架已经基本完成,包括插件式架构、路由系统、WebAPI和OData、事件管理(待完善)、性能监控(待完善)、配置管理。</li> <li>前端UI基本规范,但是存在不少细节问题。</li> <li>下一版本计划支持声明式认证以及MVC等功能。</li> </ul>", CreateTime = DateTimeOffset.Now, CreateBy = magicodes.Id, Deleted = false, }; context.PublishVersions.AddOrUpdate(publishVersion_1); var publishVersion_2 = new Magicodes.Models.Mvc.Models.PublishVersion() { Title = "Magicodes 1.0.0.1 Beta 版", Content = "<p>测试版本。主要修复了前端细节问题。</p><ul> <li>主要修复了前端UI的若干问题。具体内容敬请期待后面的博文介绍。</li> </ul>", CreateTime = DateTimeOffset.Now, CreateBy = magicodes.Id, Deleted = false, }; context.PublishVersions.AddOrUpdate(publishVersion_2); var publishVersion_3 = new Magicodes.Models.Mvc.Models.PublishVersion() { Title = "Magicodes 1.0.0.2 Beta 版(New)", Content = "<p>测试版本。具体请查看http://www.cnblogs.com/codelove/p/4058433.html。</p><ul> <li> 1. 架构多次重构,甚至核心模块多次推倒重来。 </li> <li> 2. 架构已支持MVC,不过却暂时放弃了WebForm,当然也有可能永久放弃WebForm,毕竟我目前只是一个人在战斗,兼容两套时间精力都极为有限。 </li> <li> 3. 引入了T4,已支持基于T4模板的代码生成。 </li> <li> 4. 已支持SignalR。 </li> <li> 5. 已支持ASP.NET Identity以及集成OAuth(Microsoft、QQ、Google…),暂时移除了对Form验证的支持。 </li> <li> 6. 支持WebAPI和Odata。 </li> <li> 7. 前端框架初成,支持响应式布局以及MVVM模式和模块化加载。 </li> <li> 8. 其他 </li> 具体请查看http://www.cnblogs.com/codelove/p/4058433.html。 </ul>", CreateTime = DateTimeOffset.Now, CreateBy = magicodes.Id, Deleted = false, }; context.PublishVersions.AddOrUpdate(publishVersion_3); #endregion }
private static void CreateSampleUser(WealthEconomyContext context) { // Managers & stores & repositories var userStore = new AppUserStore(context); var userManager = new UserManager <User, int>(userStore); var resourcePoolStore = context.Set <ResourcePool>(); // Sample user var sampleUserName = "******"; var sampleEmail = "*****@*****.**"; var sampleUser = new User(sampleUserName, sampleEmail) { EmailConfirmed = true, EmailConfirmationSentOn = DateTime.UtcNow, HasPassword = true }; var sampleUserPassword = DateTime.Now.ToString("yyyyMMdd"); userManager.Create(sampleUser, sampleUserPassword); context.SaveChanges(); // Add to regular role userManager.AddToRole(sampleUser.Id, "Regular"); context.SaveChanges(); // Login as (required in order to save the rest of the items) Security.LoginAs(sampleUser.Id, "Regular"); // Sample resource pools var billionDollarQuestion = CreateBillionDollarQuestion(sampleUser); var upoSample = CreateUPOSample(sampleUser); var basicsExistingSystemSample = CreateBasicsExistingSystemSample(sampleUser); var basicsNewSystemSample = CreateBasicsNewSystemSample(sampleUser); var priorityIndexSample = CreatePriorityIndexSample(sampleUser); var knowledgeIndexSample = CreateKnowledgeIndexSample(sampleUser); var knowledgeIndexPopularSoftwareLicenseSample = CreateKnowledgeIndexPopularSoftwareLicenseSample(sampleUser); var totalCostIndexExistingSystemSample = CreateTotalCostIndexExistingSystemSample(sampleUser); var totalCostIndexNewSystemSample = CreateTotalCostIndexNewSystemSample(sampleUser); var allInOneSample = CreateAllInOneSample(sampleUser); // Set Id fields explicitly, since strangely EF doesn't save them in the order that they've been added to ResourcePoolSet. // And they're referred with these Ids on front-end samples billionDollarQuestion.Id = 1; upoSample.Id = 8; basicsExistingSystemSample.Id = 9; basicsNewSystemSample.Id = 10; priorityIndexSample.Id = 2; knowledgeIndexSample.Id = 3; knowledgeIndexPopularSoftwareLicenseSample.Id = 4; totalCostIndexExistingSystemSample.Id = 5; totalCostIndexNewSystemSample.Id = 6; allInOneSample.Id = 7; // Insert resourcePoolStore.Add(billionDollarQuestion); resourcePoolStore.Add(upoSample); resourcePoolStore.Add(basicsExistingSystemSample); resourcePoolStore.Add(basicsNewSystemSample); resourcePoolStore.Add(priorityIndexSample); resourcePoolStore.Add(knowledgeIndexSample); resourcePoolStore.Add(knowledgeIndexPopularSoftwareLicenseSample); resourcePoolStore.Add(totalCostIndexExistingSystemSample); resourcePoolStore.Add(totalCostIndexNewSystemSample); resourcePoolStore.Add(allInOneSample); // First save context.SaveChanges(); }