小编Cod*_*iot的帖子

尝试将角色添加到用户时,Asp.NET 身份角色不起作用

我目前正在使用 RoleManager 和 CreateAsync(newRoleName) 方法将角色添加到我们的数据库 - 该方法工作正常。但是当我尝试查询该角色时,它总是返回它不存在(即使我可以在数据库中看到它)。

谁能提供一些有关我无法使用该角色的原因的见解?

        var roleExists = roleManager.RoleExistsAsync(role);
        if (!roleExists.Result)
        {
            var newRole = new IdentityRole(role)
            {
                Name = role,
                NormalizedName = role.ToUpper(),
            };

            var roleCreated = roleManager.CreateAsync(newRole);

            Thread.Sleep(500);  // Used to get result back first.

            var roleExistsYet = roleManager.RoleExistsAsync(role);
            if (!roleExists.Result)
            {
                // ALWAYS Returns [False]
            }
        }
Run Code Online (Sandbox Code Playgroud)

最初的问题出现在我们用UserManager创建一个新的User的时候,下面的方法会导致错误

var roleAddResult = userManager.AddToRoleAsync(newUser, "TestRole123");
Run Code Online (Sandbox Code Playgroud)

异常错误:角色 [TESTROLE123] 不存在。

注意:我可以在表 dbo.AspNetRoles 的数据库中看到角色“TestRole123”(或任何其他角色)的条目。

任何见解或帮助表示赞赏。

环境:Visual Studio 2017、Asp.NET Core、C#

c# asp.net roles asp.net-identity usermanager

5
推荐指数
1
解决办法
6437
查看次数

如何将IdentityServer4与ASP.NET Microsoft Identity的自定义密码验证一起使用

我正在使用IdentityServer4并使用ASP.NET身份,并且想要进行自定义密码验证,以便我可以为密码过期添加验证(例如,如果密码超过90天,则让用户更改密码等. ).

我在Startup.cs 的方法中.AddPasswordValidator<>设置时遇到了该方法,但是无法找到有关如何实现它的任何明确文档.services.AddIdentityConfigureServices()

任何人都可以帮助实现或指向一些类似的示例代码吗?(或者可能有助于了解我在哪里/如何使用IdentityServer4实现用户/密码的自定义验证)?

c# asp.net validation asp.net-identity identityserver4

3
推荐指数
1
解决办法
4864
查看次数