猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
使用Identity时,如何在没有注册页面的情况下注册第一个用户?
您如何在可以管理新数据库的新数据库中创建第一个用户?
例如 Django 有一个命令行实用程序来创建一个超级用户,它是如何在 ASP.Net Identity 中完成的?
江户川乱折腾
浏览 163
回答 1
1回答
qq_笑_17
您必须编写自己的种子逻辑来播种默认用户和角色。查看 Jeff Fritz 的CoreWiki 存储库以获取示例。这是相关的部分。请注意如何多次调用它而不必担心创建多个帐户——这很重要,因为每次运行应用程序时都会调用它。public static async Task Seed(UserManager<CoreWikiUser> userManager, RoleManager<IdentityRole> roleManager){ var administratorsRole = "Administrator"; var defaultAdminUsername = "admin@corewiki.com"; var defaultAdminPassword = "Admin@123"; var adminRoleExists = await roleManager.RoleExistsAsync(administratorsRole); if (!adminRoleExists) { var role = new IdentityRole(administratorsRole) { Name = administratorsRole }; var roleResult = await roleManager.CreateAsync(role); } // If there are no users who are currently an admin, then create a default admin user var anyAdminUsers = await userManager.GetUsersInRoleAsync(administratorsRole); if (!anyAdminUsers.Any()) { var defaultAdminUserExists = await userManager.FindByEmailAsync(defaultAdminUsername); if (defaultAdminUserExists == null) { var defaultAdminUser = new CoreWikiUser { UserName = defaultAdminUsername, Email = defaultAdminUsername }; var userResult = await userManager.CreateAsync(defaultAdminUser, defaultAdminPassword); if (userResult.Succeeded) { var result = await userManager.AddToRoleAsync(defaultAdminUser, administratorsRole); } } }}然后,您可以从 Startup 调用它,ConfigureServices()也可以在Main()运行虚拟主机之前直接在您的网络主机中调用它,如果您的种子方法是async.如果传递了命令行参数,另一种方法是在 Main() 中运行它。例如。dotnet run seed.
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C#
typedef入门问题
5 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续