当前位置: 首页 > 编程语言 > C#

在站点初始化时创建默认用户-管理员-身份共享

时间:2023-04-10 15:33:43 C#

在站点初始化时创建默认用户/管理员-身份我在asp.net世界中非常擅长。所以我的问题可能已经在互联网上的任何地方得到了回答,但他们都不了解流程创建。这是个问题。我正在尝试创建简单的“网站项目”,当网站启动时,如果表尚不存在,它应该在数据库中创建所有必要的身份表。然后我将向表添加角色并将用户设置为该表的超级管理员。谁能帮我解决这个问题或分享有关此问题的任何链接。我假设您使用的是ASP.NETMVC。您可以使用数据库初始化来为数据库设定种子。公共类MyDBInitializer:CreateDatabaseIfNotExists{protectedoverridevoidSeed(ApplicationDBContextcontext){base.Seed(context);在seed方法上,您可以填充数据库并为应用程序创建默认用户。protectedoverridevoidSeed(ApplicationDBContextcontext){//初始化默认身份角色varstore=newRoleStore(context);varmanager=newRoleManager(store);//RoleTypes是一个包含不同角色的常量字符串值的类ListidentityRoles=newList();identityRoles.Add(newIdentityRole(){Name=RoleTypes.Admin});identityRoles.Add(newIdentityRole(){Name=RoleTypes.Secretary});identityRoles.Add(newIdentityRole(){Name=RoleTypes.User});foreach(身份角色中的身份角色角色){manager.Create(角色);}//初始化默认用户varstore=newUserStore(context);varmanager=newUserManager(store);ApplicationUseradmin=newApplicationUser();admin.Email="admin@admin.com";admin.UserName="admin@admin.com";manager.Create(admin,"1Admin!");manager.AddToRole(admin.Id,RoleTypes.Admin);//添加代码以初始化上下文表base.Seed(context);}在Global.asax.cs上,您应该注册数据库初始化程序protectedvoidApplication_Start(){AreaRegistration.RegisterAllAreas();GlobalConfiguration.Configure(WebApiConfig.Register);FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);RouteConfig.RegisterRoutes(RouteTable.Routes);(新的MyDBInitializer());请注意,有不同类型的数据库初始化策略,行为将取决于您的数据库初始化器检查上面的链接。以上就是C#学习教程:网站初始化时创建默认用户/管理员——身份共享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文来自网络收集,不代表作品如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: