问题标签 [asp.net-core-identity]

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.

0 投票
1 回答
336 浏览

c# - 在操作方法之后调用 ViewComponent

我有以下布局页面:

ViewComponent它为经过身份验证和未经过身份验证的用户呈现两种不同的视图:

我还有一个注销用户的操作方法:

我想在调用action方法后渲染,ViewComponent 怎么LogOut做?

0 投票
6 回答
29359 浏览

c# - 我应该如何从 ASP.NET Core 视图访问我的 ApplicationUser 属性?

我正在开发一个 ASP.Net vNext / MVC6 项目。我开始掌握 ASP.Net 身份。

该类ApplicationUser显然是我应该添加任何其他用户属性的地方,这适用于 Entity Framework,并且我的其他属性按预期存储在数据库中。

但是,当我想从我的视图中访问当前登录用户的详细信息时,问题就出现了。具体来说,我有一个_loginPartial.cshtml我想在其中检索和显示用户的 Gravatar 图标,为此我需要电子邮件地址。

RazorView基类有一个 User 属性,它是一个ClaimsPrincipal. 如何从该User属性返回到我的ApplicationUser, 以检索我的自定义属性?

请注意,我不是在问如何找到信息;我知道如何ApplicationUserUser.GetUserId()值中查找。这更多是关于如何明智地处理这个问题的问题。具体来说,我不想:

  • 从我的视图中执行任何类型的数据库查找(关注点分离)
  • 必须为每个控制器添加逻辑以检索当前用户的详细信息(DRY 原则)
  • 必须为每个 ViewModel 添加一个用户属性。

这似乎是一个“横切关注点”,应该有一个集中的标准解决方案,但我觉得我错过了一块拼图。从视图中获取这些自定义用户属性的最佳方法是什么?

注意:似乎 MVC 团队在项目模板中绕过了这个问题,确保 UserName 属性始终设置为用户的电子邮件地址,巧妙地避免了他们执行此查找以获取用户的电子邮件地址的需要!这对我来说似乎有点欺骗,在我的解决方案中,用户的登录名可能是也可能不是他们的电子邮件地址,所以我不能依赖这个技巧(我怀疑我以后需要访问其他属性)。

0 投票
8 回答
19787 浏览

c# - 如何在 ASP.NET Core 中返回 401 而不是 302?

我试图让 ASP.NET Core Identity 在用户未登录时返回 401。我在[Authorize]我的方法中添加了一个属性,而不是返回 401,而是返回 302。我尝试了很多建议,但是似乎没有任何效果,包括services.Configureapp.UseCookieAuthentication设置LoginPathnullor PathString.Empty

0 投票
1 回答
616 浏览

c# - 我如何获得用户名,我使用 ASP.NET Core MVC 和身份?

0 投票
1 回答
588 浏览

asp.net-core - 如何为 ASP.NET Core Identity 中的持久性和非持久性 cookie 配置不同的 ExpireTimeSpan

我有一个带有记住我选项的登录页面。我想将记住我的 cookie 有效期配置为更长,比如一个月。我可以使用该CookieAuthenticationOptions.ExpireTimeSpan属性,但“仅”对 RememberMe 选项不起作用。我希望用户在当前浏览会话中登录几分钟,例如登录后 30 分钟(如果用户没有选择 RememberMe 选项)。在这种情况下,我会使用ExpireTimeSpan = TimeSpan.FromMinutes(30).

有没有办法我可以配置类似“RememberMeDuration”的东西来配置两个不同的设置时选择记住我和不选择时?- 开箱即用(至少不会为这样的小功能创建全新的中间件)

0 投票
1 回答
2849 浏览

asp.net-core - asp.net core 1.0 在 webapi 中获取 windows 身份

我正在使用 Visual Studio 2015 创建一个 Asp.net Core 1.0 (WebApi) 项目。模板是 ASP.NET Core Web Application (.NET Core)\WebApi(未选择身份验证)。

在此处输入图像描述

在 ValuesController 中,我想从调用该方法的客户端获取 Windows 标识。

目前在method1和中没有结果返回method2。有什么想法吗?

0 投票
8 回答
22524 浏览

asp.net-core - ASP.Net Core 本地化

ASP.Net 核心具有对本地化的新支持

在我的项目中,我只需要一种语言。对于大多数文本和注释,我可以用我的语言指定内容,但对于来自 ASP.Net Core 本身的文本,语言是英语。

例子:

  • 密码必须至少有一个大写字母 ('A'-'Z')。
  • 密码必须至少有一位数字 ('0'-'9')。
  • 用户名“x@x.com”已被占用。
  • E-post 字段不是有效的电子邮件地址。
  • 值 '' 无效。

我试过手动设置文化,但语言仍然是英语。

如何更改 ASP.Net Core 的语言,或覆盖其默认文本?

0 投票
1 回答
923 浏览

c# - 添加新的身份角色

我正在尝试向 ASP.NET Core Identity 系统添加一个新角色。但到目前为止还没有运气。

代码:C#

错误信息:

错误 CS7036 没有给出与“RoleManager.RoleManager(IRoleStore, IEnumerable>, ILookupNormalizer, IdentityErrorDescriber, ILogger>, IHttpContextAccessor) 的所需形式参数“roleValidators”相对应的参数

.net 4.6 VB.net 中的相同代码有效

0 投票
2 回答
10144 浏览

c# - 使用 ASP .NET Core Identity 和 EntityFrameworkCore 注册新用户时出现 InvalidOperationException

我正在关注使用 Identity 的文档并尝试注册新用户(执行注册操作),但它失败并出现以下错误:

InvalidOperationException:无法为“ApplicationUser”创建 DbSet,因为此类型未包含在上下文模型中。

启动:

我正在使用标准的 ApplicationUser:

在 AccountController 中注册操作:

我已经尝试了以下方法:

  • 添加DbSet<ApplicationUser>AplicationContext
  • 我确实通过dotnet ef
0 投票
2 回答
3265 浏览

c# - 如何自定义实现 asp.net 身份的 UpdateAsync 方法?

我正在做自定义 asp.net 身份而不使用 asp.net 内置表。我已经成功创建了用户并实现了自定义CreateAsync

现在我想用新的加密密码更新用户,所以我不知道如何提供UpdateAsync method.

这是我的桌子:

用户Id,Name,EmailId,Password,Statistics,Salary

型号

我实现 IUserstore 的自定义类:

控制器: