问题标签 [usermanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Mediatr 无法解析 ASP.Net Core 中的 UserManager
我正在根据这个 使用 MediatR 执行命令的干净架构示例构建 ASP.Net Core 应用程序。而且我想在我的应用程序中使用 ASP.Net Core Identity,所以在我的 CreateUserCommandHandler 中我想使用 UserManager 添加新用户,但是当我将 UserManager 添加到命令承包商 MediatR 时无法创建处理程序并因以下异常而失败:
在配置服务中,我像这样注册我的 DBContext 和 MediatR:
这是我的命令处理程序代码:
还有我的控制器
我已经尝试了很多东西,但没有任何效果,只有当我从命令处理程序中删除 UserManager 时,它才会被执行。
asp.net-core - 使用 UserManager GenerateUserTokenAsync 创建带有额外数据的自定义令牌
我正在使用 ASP.NET Core 2.2,我需要在我的应用程序中生成自定义令牌。
Asp.Net Core Identity UserManager 可以生成经典令牌,例如 EmailVerification,...
但它也有一种方法可以生成具有不同目的的令牌(MSFT Docs):
我需要使用以下信息生成令牌:
- 目的 = AddUserToProject
- 用户 = 给定用户
- ProjectId = 应将用户添加到的项目 ID。
- RoleId = 项目中用户的角色 ID
在 GenerateUserTokenAsync 我可以添加用户和目的......
但我不确定如何添加 (3) 和 (4),例如 ProjectId 和 RoleId。
以及如何稍后检索它,以便我可以实际执行操作。
我该怎么做?
c# - 通过用户管理器设置 RefreshToken 的 ASP.NET Core 用户管理器问题
我在 ASP.NET Core 中有这个 web api 方法:
当我尝试刷新 RefreshToken 时,会出现以下错误:
我的 User 类是从 IdentityUser 派生的:
asp.net-core - ASP.Net Core 3.0 UserManager UpdateSecurityStampAsync 乐观并发失败,对象已修改
知道的目的是UserManager.UpdateSecurityStamp
什么?每次用户登录到我的 ASP.Net Core 3.0 应用程序时,我都会调用它,并且偶尔会得到Optimistic concurrency failure, object has been modified.
任何建议和见解,我们将不胜感激。它的用例和Optimistic concurrency
异常的根本原因是什么?
c# - ASP.NET Core Identity UserManager.IsInRole 调用在 2.2 中有效,但在 3.0 中抛出 InvalidOperation
我有 2 个使用 ASP.NET Core Identity 的解决方案。一个是 v.2.2,另一个是 3.0。他们调用 UserManager.IsInRole(user, role.Name)。该代码在 v.2.2 中有效,但会引发异常,“InvalidOperationException:已经有一个打开的 DataReader 与此命令关联,必须先关闭它。” 在 v.3.0 中。他们都在构建两个用户列表,一个是目标角色的用户,另一个不是目标角色的用户。这个想法是从目标角色中添加或删除用户。
我在这里搜索过 Microsoft 文档和一些博客,但似乎没有任何东西可以解决我的问题
这是有问题的代码:
这会产生一个异常:处理请求时发生未处理的异常。InvalidOperationException:已经有一个打开的 DataReader 与此命令关联,必须先关闭。
Microsoft.Data.SqlClient.SqlCommand+<>c.b__164_0(任务结果)
投掷线是:
任何帮助和指导将不胜感激。谢谢你。
.net-core - Using ExecuteInTransaction with UserManager
We are implementing EnableRetryOnFailure
but as discussed on https://docs.microsoft.com/en-us/ef/core/miscellaneous/connection-resiliency, this does not work out of the box for user defined transactions.
One of the recommendations from the above link (options 3 & 4) is to use an ExecutionStrategy.ExecuteInTransaction
, and to call SaveChanges
with acceptAllChangesOnSuccess: false
.
This is necessary so that the transaction can be retried if SaveChanges succeeds but the transaction fails.
The issue we are having is that we have UserManager
methods wrapped up inside our transactions, and these will internally be calling SaveChanges
on the context.
How can we do this, when we cannot change UserManager
to use acceptAllChangesOnSuccess: false
?
.net-core-3.0 - 如何在 Mvc Core3 中通过 UserManager 获取具有一个角色的所有用户?
如何UserManager
在 Mvc Core 3 中让所有用户拥有一个角色?我想要UserName
,UserId
和角色。
这是我的示例代码,但它不起作用:
我的问题是什么?
c# - 在 .Net Core 2.2 中,如何使用带有默认 .Net UserManager 的自定义 UserStore 或者我必须从头开始构建 UserManager?
我通过将我的实体搭建到数据库中(代码优先)构建了一个身份系统,构建了一个从 IUserStore 继承的 EmployeeStore,但是,每当我的 OnPost 方法尝试在 EmployeeStore 中使用 NormalizedUserName 方法时,我总是会收到对 UserManager 的回溯错误(请检查下面的错误)
发生异常:CLR/System.NullReferenceException Nextekk.dll 中发生“System.NullReferenceException”类型的异常,但未在用户代码中处理:“对象引用未设置为对象的实例。” 在 Nextekk.Models.EmployeeStore.SetNormalizedUserNameAsync(Employee employee, String normalizedName, CancellationToken cancelToken) in /home/Xxxxxx/Nxxxxxx/Models/EmployeeStore.cs:Microsoft.AspNetCore.Identity.UserManager`1.d__82.MoveNext() 的第 113 行
我什至尝试将 UserManager 注入到 EmployeeStore 的构造函数中并调用它以直接使用 UserManager,我真的不希望将其作为一个选项,但一切都是徒劳的。
我的 NormalizedUserName 方法如下所示:
我的启动身份服务如下所示:
请问我的问题是如何让我的 CustomUserStore (EmployeeStore) 与 Microsoft Identity 的默认 UserManager 一起工作。任何帮助将非常感激。
oracle - Oracle DB 记录只能使用 NetFrameworkCore for Oracle 访问一次
我有一个使用 NetFrameworkCore for Oracle 的简单 Web 解决方案(不完整)。
请参阅 HomeController.CS 和 AspNetUser.CS -->
问题是我有一个 AspNetUser 记录,它是通过 Microsoft.AspNetCore.Identity.UserManager 在 DB 中创建的。此记录可通过 ID 查找来访问,并设法检索记录。
但是,在停止解决方案并重新运行(不创建新的 AspNetUser)时,我无法通过 ID 检索记录。而是在 Oracle.ManagedDataAccess.Client.OracleDataReader.GetDateTimeOffset() 上引发 500 错误和无效转换异常。该问题可能与表列无关,因为重新创建表允许再次访问记录,尽管也可以访问一次。
那可能是什么问题?我很抱歉,因为我是 Oracle 和 net core web 的新手。以下是错误和网络解决方案的链接。
错误 500:https ://1drv.ms/u/s!AjZf_PiMM9Arg6QLX9dfqkqu_Piepw
解决方案:https ://1drv.ms/u/s!AjZf_PiMM9Arg6QKrT3AuP3QTJaQYQ?e=5lLU97
unit-testing - 如何在需要 UserManager 但使用内存数据库的 XUnit 中测试方法
我正在使用 ASP.NET Core 3.1 和 XUnit 进行单元测试。
我构建了一个数据库上下文工厂类,它实例化了我的数据库的内存版本:
这是我正在尝试使用的当前测试类:
为了让我测试我的管理服务,我需要提供一个用户管理器。它应该与我当前创建的数据库链接。
我怎样才能做到这一点?