问题标签 [asp.net-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 投票
7 回答
16063 浏览

asp.net - ASP.Net 用户名到电子邮件

我正在使用新的 ASP.NET 身份 (RTM),我想知道如何继续将注册和登录从用户名更改为电子邮件。

这个想法是我希望我的用户使用他们的电子邮件和密码进行注册(也可以使用外部登录来获取电子邮件),并且他们在顶部设置了一个显示名称/用户名。

我查看了 IdentityUser,我可以看到 UserName 在那里,但是因为它包含在 ASP.Net Identity 中,无法更改。

我知道我可以使用“用户名”作为电子邮件,使用自定义验证器,然后为 ApplicationUser 提供一个名为 DisplayName 的额外属性,但这更像是一种技巧而不是解决方案。

我希望我的问题很清楚。提前致谢。

0 投票
3 回答
69429 浏览

asp.net - 什么是 ASP.NET Identity 的 IUserSecurityStampStore界面?

查看 ASP.NET Identity(ASP.NET 中的新成员身份实现),我在实现自己的时遇到了这个接口UserStore

IUserSecurityStampStore由默认实现EntityFramework.UserStore<TUser>,本质上是获取和设置TUser.SecurityStamp属性。

经过一番挖掘,似乎 aSecurityStampGuid在关键点UserManager(例如更改密码)处新生成的 a。

因为我正在Reflector中检查这段代码,所以我无法真正破译更多内容。几乎所有的符号和异步信息都被优化了。

此外,谷歌并没有提供太多帮助。

问题是:

  • SecurityStampASP.NET 标识中的 a 是什么,它的用途是什么?
  • 创建身份验证cookie时是否起SecurityStamp任何作用?
  • 是否需要对此采取任何安全后果或预防措施?例如,不要将此值向下游发送给客户端?

更新(2014 年 9 月 16 日)

此处提供源代码:

0 投票
4 回答
2825 浏览

asp.net-mvc - 将 mvc5 帐户控制器代码移动到单独的项目

我有一个包含 WebApi2、MVC5 和 DAL 项目(所有 RTM)的解决方案。

我想使用现在已加入的新成员资格位,但我不喜欢所有帐户内容都在帐户控制器中。做一个文件新项目(asp.net)将所有成员资格都耦合到帐户控制器。

在我的 DAL 中,我使用 EF6,因为我喜欢代码优先的理想,因为它适合我想要做的事情。我正在尝试获取帐户控制器代码并将其移至我的单独项目中。

我在 DAL 中的上下文很简单(取自 MVC 站点)

从我的登录操作结果中的帐户控制器我尝试

它会引发错误User.FindAsync

实体类型 ApplicationUser 不是当前上下文模型的一部分。

我需要做什么才能允许在当前上下文中使用 ApplicationUser?

0 投票
7 回答
27263 浏览

c# - ASP.NET Identity:获取角色中的所有用户

如何获取角色中所有用户的列表?在使用 Roles.GetUsersInRole 之前,但使用新身份时,我找不到这样的东西。

0 投票
1 回答
174 浏览

asp.net - ASP.NET 标识系统更改

从 RC1 到 RTM 版本,新的 ASP.NET 身份系统有很多变化。我找不到这方面的任何信息。谁能告诉我我必须改变什么或给我一个链接?

例如我得到错误:

0 投票
1 回答
75 浏览

asp.net-mvc-5 - IAuthenticationManagerExtensions 类在 Microsoft.AspNet.Identity.Owin 1.0 版本中消失了吗?

我已将 Microsoft.AspNet.Identity.Owin rc1 更新到 1.0 版本,但找不到管理身份令牌的扩展方法。

令牌管理消失了还是有其他方法来管理令牌?

0 投票
5 回答
75559 浏览

asp.net-mvc - ASP.NET (OWIN) 身份:如何从 Web API 控制器获取用户 ID?

(使用VS2013 RTW,ASP.NET MVC5)

我看过很多关于如何在使用 ASP.NET 标识时向 ApplicationUser 类(和表)添加属性的文档。但是我还没有看到任何关于如何拥有一个单独的表的文档,该表的内容通过外键映射到 ApplicationUser 表。

我已经成功地派生了我自己的 Microsoft.AspNet.Identity.EntityFramework.IdentityDbContext,现在我自己的“UserPreferences”表与我的 SQL Server 数据库中的各种“AspNet*”表和谐共存。但我不清楚获取当前用户 ID 以便将新行写入“UserPreferences”表的最佳方法。请注意,该项目是 ASP.NET MVC,但我已经添加(并且正在其中工作)一个 Web API 控制器。

我有一个可行的解决方案,即:

考虑 AspNetUsers 表(由 Identity 框架定义)由以下字段组成:

我认为 id 字段(不是用户名)是此表中要引用的正确字段。(我在想一个用户可能会更改他/她的用户名,然后其他人可以假设另一个用户的用户名,这就是为什么两个字段都可能存在的原因。)那么,我需要获取当前用户的 ID 以存储在“UserPreferences”表,这就是上面的代码所做的。但是必须进行此查找似乎效率低下。

重要的一点是,在 System.Web.Mvc.Controller 的上下文中,我可以这样做:

但是在 System.Web.Http.ApiController (Web API) 的上下文中,我不能,因为该方法不存在(User.Identity 的运行时类型:System.Security.Claims.ClaimsIdentity),这就是我必须依赖的原因:

并进行额外的查找以将名称转换为 ID。有人对如何改进有任何建议吗?我是否正在以正确的方式将用户数据写入单独的表?

0 投票
3 回答
1441 浏览

c# - 在 WebAPI 中公开 ApplicationUser

我希望能够使用 WebAPI 2 公开用户列表。但是,由于我在 MVC5 中使用新的 Asp.Net 身份验证框架,我似乎无法找到仅将特定字段标记为DataMembers.

这是我所拥有的:

但是,这似乎不起作用,因为IdentityUser没有该[DataContract]属性。我尝试创建一个自IdentityUser定义的IdentityUser.

这里有任何提示或解决方法吗?我宁愿不必创建 ViewModel,除非这是当前的最佳实践。

0 投票
1 回答
2043 浏览

entity-framework - MVC5 codefirst 将用户添加到多对多关系

我将 mvc5 与 codefirst 和用户帐户一起使用。

我有一个简单的要求,一个用户可以属于多个商店,一个企业可以有多个商店。

到目前为止,我有业务 - 许多商店都在工作,但我似乎无法弄清楚如何设置用户。

我的店铺模型

我的商业模式

在我的上下文中,我尝试过

但是,当我尝试添加迁移时,生成的代码将更改我的表名并在 Store 和 AspNetUser 之间创建连接表

我的迁移看起来像

任何人都可以帮助我完成这项工作吗?

0 投票
1 回答
1754 浏览

asp.net-mvc - 从 ASP.NET 成员身份转换为新的 ASP.NET 身份 API

我正在考虑将当前使用 ASP.NET 成员身份进行身份验证和授权的现有 MVC 4 转换为新的 ASP.NET Identity 模型,该模型现在在 MVC 5 中可用,以及最近随 VS 2013 发布的类似模型。除了升级到 MVC 5,是否有人对将应用程序转换为对现有用户影响最小的新框架需要什么想法?

理想情况下,我想保留他们的密码哈希和盐,以免在转换后强迫用户更改密码。此外,有人谈到将联邦作为某些客户端的备用登录名,因此我也需要在新系统中使用声明功能。

对于任何反馈,我们都表示感谢。