Esempio n. 1
0
        public AppUserManager(AppUserStore store)
            : base(store)
        {
            var provider = new DpapiDataProtectionProvider("SweetHome");

            UserTokenProvider = new DataProtectorTokenProvider <AppUser, long>(provider.Create("EmailConfirmation"));
        }
Esempio n. 2
0
 private void CreateNewUserStore()
 {
     userStore = new AppUserStore(Context)
     {
         AutoSaveChanges = false
     };
 }
Esempio n. 3
0
        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();
        }
Esempio n. 4
0
        public RolesController()
        {
            var dbContext    = new BackboneContext();
            var appUserStore = new AppUserStore(dbContext);
            var appRoleStore = new AppRoleStore(dbContext);

            _userManager = new AppUserManager(appUserStore, appRoleStore);
        }
Esempio n. 5
0
        public LiteUser GetUserAttributes(IOwinContext context, int userId)
        {
            var userStore = new AppUserStore <AppUser>(context.Get <IdentityDatabaseContext <AppUser, IdentityRole> >());

            var user = userStore.GetUserAttributes(userId);

            return(user);
        }
Esempio n. 6
0
        public UsersController()
        {
            var dbContext    = new WealthEconomyContext();
            var appUserStore = new AppUserStore(dbContext);
            var appRoleStore = new AppRoleStore(dbContext);

            _userManager = new AppUserManager(appUserStore, appRoleStore);
        }
Esempio n. 7
0
        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));
        }
Esempio n. 8
0
        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.
             */
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
        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);
        }
Esempio n. 12
0
        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);
        }
Esempio n. 13
0
        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)
            {
            }
        }
Esempio n. 14
0
        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();
        }
Esempio n. 15
0
        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);
        }
Esempio n. 16
0
        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);
        }
Esempio n. 17
0
        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);
        }
Esempio n. 18
0
        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();
        }
Esempio n. 19
0
 public BaseController(AppUserStore userStore, UserManager <IdentityUser> userManager = null)
 {
     _userStore   = userStore;
     _userManager = userManager;
 }
Esempio n. 20
0
 public UserManager(AppUserStore store)
     : base(store)
 {
     _userStore  = store;
     _appSession = new AppSession();
 }
Esempio n. 21
0
 public KeysController(AppUserStore userStore) : base(userStore)
 {
 }
Esempio n. 22
0
 void CreateNewUserStore()
 {
     userStore = new AppUserStore(Context);
     userStore.AutoSaveChanges = false;
 }
Esempio n. 23
0
 public ApplicationUserManager(AppUserStore store) : base(store)
 {
 }
Esempio n. 24
0
        public RegisterController(AppUserStore userStore, IEventBusPublisher eventBusPublisher)
        {
            _userStore = userStore;

            _eventBusPublisher = eventBusPublisher;
        }
Esempio n. 25
0
 public JobController(AppUserStore userStore) : base(userStore) { }
Esempio n. 26
0
 public AccountController(AppUserStore userStore) : base(userStore)
 {
 }
Esempio n. 27
0
 public AppUserManager(AppUserStore store, AppRoleStore appRoleStore) : base(store)
 {
     _roleStore = appRoleStore;
 }
Esempio n. 28
0
 public UserController(UserManager <IdentityUser> userManager, AppUserStore userStore) : base(userStore, userManager)
 {
 }
Esempio n. 29
0
        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
        }
Esempio n. 30
0
        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();
        }