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

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 投票
2 回答
2891 浏览

asp.net - 使用 Windows 身份验证获取具有 .Net 身份的用户 ID 以进行角色管理

我们有一个正在使用 ASP.NET 5 aka vNext 和 MVC 6 开发的 Intranet 站点。

我们希望能够获得用户登录时使用的 Windows 网络 ID,但是有一个现有的数据库来定义角色等。我们将利用并且已经这样做了。我真正想做的就是在使用 ASP.NET Identity 管理用户有权访问的角色时获取 Windows 用户 ID。任何建议如何做到这一点?

基本上在 Startup.cs 中,我在配置服务中有如下内容:

接下来在配置我有: app.UseIdentity();

Windows 身份验证在项目属性级别启用,匿名也是如此。我看不到实际获取 Windows 用户 ID 的方法。

0 投票
1 回答
770 浏览

asp.net-core - 使用 ASP.NET Identity 3 的第三方身份验证

我正在使用 ASP.NET 5/CoreCLR 构建一个 WebAPI 项目。我已经实现了 Identity 3,效果很好。我计划允许用户从浏览器或应用程序(移动设备或 Kodi 或 foobar2000 等第三方)使用 WebAPI。

我想只允许来自浏览器而不是来自第三方的“管理”帐户任务(更改密码、删除内容等)。应用程序应该只能访问有限数量的控制器或操作。最重要的是,我想让用户更容易进行身份验证。我不希望他们将登录名和密码放在应用程序中(因为这些凭据允许对他们的帐户执行管理任务)。理想情况下,我想添加一个“第三方应用程序”身份验证。由于这些操作不会很敏感,我正在考虑提供生成“API 密钥”的能力,这会很短。

我正在考虑一个工作流程,用户可以从浏览器转到他们的帐户页面,单击“生成第三方凭据”,然后从第三方应用程序中获取一个 6 或 8 个字符长的字符串。稍后我可能会应用一些 HMAC。

我想知道的是,在身份 3 之上实现它的“正确”(概念上)方法是什么。例如,是否有可能创建与用户绑定的身份声明?

0 投票
1 回答
919 浏览

c# - ASP.Net 5 + Identity 3 覆盖默认角色实现

我必须扩展 Identity 3 中角色的默认实现。所以我编写了子类:

然后,由于我希望 Entity Framework 7 将我的数据存储在相同的默认表中,我在OnModelCreating方法中编写了以下内容ApplicationDbContext

我还定义了以下属性ApplicationDbContext

(我试图覆盖默认UserRolesRoleswith new,但 EF 迁移 throw AmbiguousMatchException)现在我想我必须在应用程序配置中注册我的自定义实现,但我不知道如何。我在Startup.cs

并将超类更改为ApplicationDbContext

我还应该做什么?或者也许我必须以完全不同的方式解决任务?

0 投票
1 回答
1547 浏览

asp.net-core - ASP.NET Core UseMicrosoftAccountAuthentication 类型 IApplicationBuilder 未定义

我能够在 ASP.NET 5 Beta 8 中使用 MicrosoftAccountAuthentication,但 Startup.cs 中的相同代码不会在 RC1 中构建

错误是

但是Microsoft.AspNet.Http.Abstractions,Beta 8 中不需要该程序集,也无法添加到使用列表中。

我注意到微软文档总是引用使用 Facebook 身份验证。作为外部提供商的 Microsoft 帐户身份验证是否会消失?

0 投票
1 回答
1192 浏览

asp.net-core - 带有 ASP.NET Identity 3 的 JWT 不记名令牌

基于 Shaun Luttin 在https://stackoverflow.com/a/30857524上的出色示例,我能够使用该代码来生成和使用不记名令牌。小改动是为了获得最新的软件包:

尽管代码是一个很好的开始,但它并不是一个完全集成 w/ ASP.NET Identity 的完整解决方案。我修改了 AuthorizationProvider 类如下:

我正在使用 CreateUserPrincipalAsync 为 Validated 方法创建 ClaimsPrincipal。有没有更好的方法来集成 w/ ASP.NET Identity?

0 投票
1 回答
1054 浏览

asp.net-core - 如何在 ASP.NET 5 ASP.NET Identity 3.0 RC1 上响应状态 401

在我使用代码的所有教程中

需要使用状态码 401 创建重定向,但因为我使用 ASP.NET 身份,所以我总是自动重定向到帐户/登录页面。

有人可以帮助我并告诉我如何不被重定向到帐户/登录并只返回状态 401。如果我使用任何其他状态(如 403 工作正常但 401 我可以返回)。谢谢。

0 投票
1 回答
811 浏览

c# - 在 UserManager、AspNet.Identity 3 中找不到 PasswordValidator 属性

我想更改注册表单的密码要求,但在 UserManager 类中找不到 PasswordValidator 属性。

我正在使用 AspNet.Identity.EntityFramework 3.0.0-beta5

(作为比较,在 Microsoft ASP.NET Identity 2.0 中,文档在UserManager<TUser, TKey>.PasswordValidator此处

0 投票
1 回答
926 浏览

asp.net - 在 ASP.NET 5 Identity 3.0(无 EF)中创建自定义角色处理

我已经成功创建了一个简单的 MVC 6 应用程序,它使用我自己的 ApplicationUser、ApplicationUserStore(实现 IUserStore 和 IUserPasswordStore)和 ApplicationUserManager(扩展 UserManager)。登录现在可以完美运行。现在我确实想扩展我的项目以支持我的控制器中的注释,如下所示:

因此,我还创建了自己的 ApplicationRole、ApplicationRoleManager、ApplicationRoleStore 并将它们注册到我的 Startup 中:

我现在的问题是注释根本不起作用。实际上,我希望我的 ApplicationRoleStore 中的 Roles 方法(来自 IQueryableRoleStore)会被触发。

我是否错过了我绑定的某个地方,或者我对身份/角色概念有完全错误的想法?

0 投票
2 回答
1639 浏览

asp.net-mvc - Asp.Net MVC 6 Identity 3 MongoDB 外部登录(Facebook)

我正在运行 ASP.NET MVC 6 的 RC1,并且想使用 MongoDB 身份提供程序。

我已经实现了由 Grant Megrabyan提供的提供程序,它在注册新用户并允许他们登录方面做得很好,但我得到了错误:

InvalidOperationException:没有配置身份验证处理程序来处理方案:Microsoft.AspNet.Identity.External Microsoft.AspNet.Http.Authentication.Internal.DefaultAuthenticationManager.d__13.MoveNext()

我之前使用 EntityFramework 进行了外部登录,所以我假设我的第三方身份验证配置可能是正确的。

当用户单击使用 Facebook 登录时,他们将被重定向到以下操作:

此时没有抛出异常,但是当 Facebook 从 ChallengeResponse 返回时,它会发送一个 GET 到:http://localhost:51265/signin-facebook?code=[facebook user token]。

此时 ASP.NET 抛出异常:

在此处输入图像描述

Facebook 制作的回调 url 似乎没有意义。当然它应该返回到我的 ExternalLoginCallback 操作?

就在这里,我没有想法?!

如果有人能看到我哪里出错了,那么我会是一个非常快乐的人。

我的startup.cs:

0 投票
1 回答
533 浏览

c# - 身份3重置密码无法登录

我正在使用带有 EF7 的 asp.net 5、MVC 6、Identity 3,并且所有内容都更新到 RC1

我的启动服务配置中有以下内容:

在我的启动配置中,我有:

我尝试使用 ResetPasswordAsync 重置用户密码,但由于某些奇怪的原因,我在这里遇到了一些问题。

  • 首先,当我尝试重置密码时,我得到了我需要大写的错误,即使我有大写、小写和数字。

  • 其次,如果我禁用 services.AddIdentity 中的所有要求并重置密码,我会成功,但是当我尝试使用新密码登录时它不起作用。

我真的不明白发生了什么,但是有没有已知的错误?

身份选项

我已经在 github 上重现了这个问题:https ://github.com/lasrol/EmptyDB