问题标签 [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 投票
2 回答
3804 浏览

c# - How can I map tables using fluent API in ASP.NET MVC 5, Entity Framework 6?

I am trying to create a one to one relationship using C# in Entity Framework 6 using ASP.NET MVC 5 with built-in user authentication.

I am able to make tables and connections with the defaults that Entity Framework creates. But when I try to use fluent API.... more specifically when I use on model creating even empty my database migration using the package manager console will fails. How can I map my one to one relationship?

My error:

My Code:

0 投票
6 回答
5100 浏览

asp.net - AllowOnlyAlphanumericUserNames - 如何设置它?(RC 到 RTM 的重大变化)ASP.NET 标识

如何在 Microsoft.AspNet.Identity.UserManager 上设置 AllowOnlyAlphanumericUserNames 标志,以便 UserValidator 允许非字母数字用户名?

0 投票
13 回答
52836 浏览

asp.net - 配置 Microsoft.AspNet.Identity 以允许电子邮件地址作为用户名

我正在创建一个新应用程序并开始使用 EF6-rc1、Microsoft.AspNet.Identity.Core 1.0.0-rc1、Microsoft.AspNet.Identity.EntityFramework 1.0.0-rc1、Microsoft.AspNet.Identity .Owin 1.0.0-rc1 等以及昨天发布的 RTM,我今晚通过 NuGet 将它们更新为 RTM。

除了对到目前为止我所做的工作进行了一些代码更改之外,一切似乎都进展顺利,直到我尝试为该应用程序创建一个本地用户帐户。

我一直在研究作为用户名格式的电子邮件地址,它在候选版本中效果很好,但是现在当使用用户名的电子邮件地址创建用户时,它会引发以下验证错误:

用户名 xxxxx@xxxx.com 无效,只能包含字母或数字。

我花了最后一个小时左右的时间来寻找有关它的配置选项的解决方案或文档,但无济于事。

有没有办法可以配置它以允许用户名的电子邮件地址?

0 投票
7 回答
106639 浏览

c# - 使用 ASP.NET Identity 时如何更改表名?

我正在使用 Visual Studio 2013 的发布版本(RTM,而不是 RC)(从 MSDN 2013-10-18 下载),因此是 AspNet.Identity 的最新 (RTM) 版本。当我创建一个新的 Web 项目时,我选择“个人用户帐户”进行身份验证。这将创建以下表格:

  1. AspNet 角色
  2. AspNetUserClaims
  3. AspNetUserLogins
  4. AspNetUserRoles
  5. AspNet 用户

当我注册一个新用户(使用默认模板)时,这些表(上面列出的)被创建并且 AspNetUsers 表插入了一条记录,其中包含:

  1. ID
  2. 用户名
  3. 密码哈希
  4. 安全邮票
  5. 鉴别器

此外,通过向“ApplicationUser”类添加公共属性,我成功地向 AspNetUsers 表添加了其他字段,例如“FirstName”、“LastName”、“PhoneNumber”等。

这是我的问题。有没有办法更改上述表的名称(当它们第一次创建时)或者它们总是用AspNet我上面列出的前缀命名?如果表名可以不同的命名,请说明如何命名。

- 更新 -

我实施了@Hao Kung 的解决方案。它确实创建了一个新表(例如我称之为 MyUsers),但它仍然创建了 AspNetUsers 表。目标是用“MyUsers”表替换“AspNetUsers”表。请参阅下面的代码和创建的表的数据库图像。

我实际上想AspNet用我自己的名字替换每个表...对于 fxample、MyRoles、MyUserClaims、MyUserLogins、MyUserRoles 和 MyUsers。

我如何做到这一点并最终只得到一组表?

数据库表

-- 更新答案 --

感谢 Hao Kung 和 Peter Stulinski。这解决了我的问题...

0 投票
1 回答
4474 浏览

asp.net-mvc - 如何让我的 MVC5 ASP.NET 身份登录操作检查用户名是否存在?

我正在使用下面的 MVC5 登录身份验证代码:

如果密码不正确,代码会给出一条消息,但如果用户名不存在,它会给出相同的消息,说“密码不正确”。

有没有人有一个解决方案,它也可以检查用户名是否存在,如果它不存在则给出正确的消息?请注意,我使用的是 ASP.Net Identity,因此它需要成为解决方案,而不是简单成员身份验证

0 投票
2 回答
6310 浏览

asp.net - 为什么 ASP.Net Identity 不支持删除

我正在修补最近 RTM 与 Visual Studio 2013 一起使用的新身份验证功能。

在实现自定义 UserStore 时,我查看了包装盒中随附的 UserStore 的反编译源,Microsoft.AspNet.Identity.EntityFramework.UserStore<TUser>. 我注意到不支持删除用户的方法:

这很奇怪不是吗?为什么不支持删除用户?

我承认我不记得我写过的生产系统硬删除了用户记录,但我不明白为什么不支持这个功能。

是否有技术原因,或者仅仅是因为微软认为删除用户记录是“不好的”,并将其作为开发人员覆盖该方法的练习?

更新

为了了解 ASP.NET 团队的想法,我搜索了DeleteAsync(TUser user). 框架中似乎没有任何东西调用它。因此,似乎他们可以完全将成员从IUserStore<TUser>界面中移除。

在这一点上,我的结论是,它可以根据您的需要以及您想要的方式实现,并且它只会被您的应用程序代码或未来的用户管理库调用。

0 投票
2 回答
2431 浏览

visual-studio-2013 - VS2013 (RTW):SPA 模板与 MVC5 模板的身份验证差异?

我一直在使用 VS2013 RTW MVC 模板(用于“个人用户帐户”)中的新 ASP.NET 身份产品,效果很好:我能够在自定义数据序列化方式的同时集成 Facebook 登录。

一切都很好,但我注意到如果我创建一个新的 SPA 应用程序(而不是 MVC),身份验证故事似乎非常不同。举个例子:

从 SPA 模板:

从 MVC 模板:

这只是 Account 控制器的构造函数的区别。还有很多很多其他的差异。使用 MVC 版本,我能够轻松地从 ApplicationDBContext 派生我自己的上下文类,并使用它来将我自己的表与身份验证表一起存储。我不知道如何在 SPA 模板中自定义数据存储。

此外,SPA 模板包含并使用此类: public class ApplicationOAuthProvider : OAuthAuthorizationServerProvider

MVC 模板不定义(或使用)此类。

我不明白为什么 MVC 模板和 SPA 模板之间需要有任何区别。

谁能给我一些指导,说明为什么这两个模板中的身份验证处理方式如此不同?从头开始一个项目,两者之间是否有首选路径?(看起来 MVC 模板中的代码是最好的,尤其是在通过定义自定义 EF 上下文类来自定义数据存储方式方面。)

谢谢...

-本

0 投票
2 回答
1073 浏览

c# - Microsoft.AspNet.Identity - 自定义 POCO 类

我正在努力使用下面的代码向标准 ApplicationUser 对象添加一些字段。我已成功运行迁移,我可以看到数据库方案已使用数据库中的新字段进行了更新。我按照http://go.microsoft.com/fwlink/?LinkID=317594上的教程进行操作

我现在遇到的问题是当我尝试执行注册时,例如:

CreateLocalUser() 执行时出现以下错误...:

mscorlib.dll 中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理

附加信息:找不到 EntityType 'Test.Models.ApplicationUser' 的映射和元数​​据信息。

我已经尝试重新创建迁移大约 5/6 次,并开始了一个全新的项目,但我无法克服这个错误。

有任何想法吗?

0 投票
3 回答
7770 浏览

claims-based-identity - 在 asp.net MVC5 EF6 中使用流利的 api 映射表?

我正在尝试将配置文件/会员信息添加到我的 MVC5 应用程序中并添加配置映射。

我收到以下错误消息:

my.Models.IdentityUserLogin: : EntityType 'IdentityUserLogin' 没有定义键。定义此 EntityType 的键。

my.Models.IdentityUserRole: : EntityType 'IdentityUserRole' 没有定义键。定义此 EntityType 的键。

IdentityUserLogins:EntityType:EntitySet 'IdentityUserLogins' 基于没有定义键的类型'IdentityUserLogin'。

IdentityUserRoles:EntityType:EntitySet 'IdentityUserRoles' 基于没有定义键的类型'IdentityUserRole'。

0 投票
1 回答
990 浏览

visual-studio-2013 - 身份数据库上下文在 Microsoft.AspNet.Identity.EntityFramework 中隐藏基本 DbContext 构造函数

我正在使用 Visual Studio 2013 RTM 和 asp.net mvc 5 实体框架 asp net identity provider 我正在执行以下操作

并在这一行出现编译时错误

IdentityDbContext 类隐藏了 DbContext 的所有构造函数。有什么解决方法吗?