使用 Guid 和自定义表名称以及 Asp.net Identity 1.1 Alpha 创建自定义实现

2024-03-27

我从不同的问题中得出结论(在我提出问题时在下面列出)。

我想做五件事,据我从这些问题和答案中可以看出......所有这些都可以在我的 OnModelCreating 方法中完成。

Preface:我正在使用 Asp.Net Identity 1.1-alpha 的最新夜间位

  • 我想使用“UserId”而不是 Id 作为我的属性 AspNetUsers 表中的用户 ID。我知道这会涉及到 在 OnModelCreating 期间使用“HasColumnName”。

  • 我想使用 Guid(唯一标识符)作为我的数据类型 用户 ID(而不是字符串)。我了解这涉及使用我的 为 IUser 类和 IUserStore 等拥有自己的 POCOS,如Hao Kung 所示 在他的回答中...

如何更改 Microsoft.AspNet.Identity.EntityFramework.IdentityUser 中的 id 类型 https://stackoverflow.com/questions/19553424/how-to-change-type-of-id-in-microsoft-aspnet-identity-entityframework-identityus/19577113#19577113

  • 我想使用我自己的自定义表名称,例如 MyRoles, MyCUserClaims、MyUserLogins、MyUserRoles、MyUsers 如中所示 这个答案...

使用 Visual Studio 2013 ASP.NET Identity 时如何更改表名称? https://stackoverflow.com/questions/19460386/how-can-i-change-the-table-names-when-using-visual-studio-2013-aspnet-identity

  • 所有外键都应与 Asp.net 正确映射 恒浩 (Hao Kung) 在此处展示的身份表...

使用 SQL 脚本创建 ASP.NET Identity 表 https://stackoverflow.com/questions/19932993/create-asp-net-identity-tables-using-sql-script/20057794#20057794

  • 我想向 FirstName 的 ApplicationUser 添加属性 和姓氏。

因此,基于上述...有人可以为我提供 OnModelCreating 方法,该方法将相应地创建这些身份表,将 UserId 作为 Guid 类型(唯一标识符)用户的 Id 列,在具有自定义名称的表中,使用适当的外键关系,以及 ApplicationUser 的 FirstName 和 LastName 两个附加属性?


我相信您可能过于线性地看待解决方案,认为它可以一次性完成。

我建议如下:

实施你自己的会员提供者 http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider(v=vs.110).aspx并重写方法以使用您想要与用户交互的确切表和逻辑。如果这是 ASP.NET MVC 4 或更新版本的实现,您可能需要研究更新的 SimpleMembership 实现并改为实现扩展会员提供者 http://msdn.microsoft.com/en-us/library/webmatrix.webdata.extendedmembershipprovider(v=vs.111).aspx。 SimpleMembership 默认情况下有一个很好的 UserProfile 系统,允许您添加名字、姓氏和其他自定义属性。

此外,如果您使用实体框架,则列表中的某些操作可以独立于此实现来完成。如果您首先使用代码,则只需将 [Key] 属性添加到属性 UserId 即可标记模型的主键,与此类似。如果表名不是 POCO 的标准复数形式,您还可以使用 [Table(String name)] 作为表名。不要忘记包含对 System.ComponentModel.DataAnnotations 的引用。

[Table("CustomUsers")]
public class User
{
    [Key]
    public Guid UserId { get; set; }
}

EDIT: Here https://stackoverflow.com/a/15083137/1228414是另一个问答,其中包含许多实现您自己的 MembershipProvider 的相关链接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Guid 和自定义表名称以及 Asp.net Identity 1.1 Alpha 创建自定义实现 的相关文章

随机推荐

  • 在 CMD 批处理脚本中调用标签时如何利用超过 9 个参数?

    我想知道如何在调用标签时在批处理脚本中调用超过 9 个参数 例如 下面显示我分配了 12 个参数 并尝试回显所有这些参数 CALL LABEL one two three four five six seven eight nine ten
  • Kafka消费者默认组ID

    我正在使用 Apache Kafka 及其 Java 客户端 我发现消息在属于同一组的不同 Kafka Consumer 之间进行负载平衡 即共享相同的组 id 在我的应用程序中 我需要所有消费者阅读所有消息 所以我有几个问题 如果我没有在
  • 在 IntelliJ IDEA 中编写并运行 pyspark

    我正在尝试在 IntelliJ 中使用 Pyspark 但我不知道如何正确安装它 设置项目 我可以在 IntelliJ 中使用 Python 并且可以使用 pyspark shell 但我无法告诉 IntelliJ 如何查找 Spark 文
  • 如何在Python中导入其他项目的函数?

    我在一个项目中有一些代码 我想在另一个项目中重用它们 我需要做什么 在两个文件夹中 才能执行此操作 目录结构类似于 Foo Project1 file1 py file2 py Bar Project2 fileX py fileY py
  • 在单个查询中获取分页行和总计数

    核心要求 查找 a 的最新条目person id by submission date对于指定的过滤条件type plan status 可能有更多这样的过滤器 但无论如何 按提交日期返回最新的逻辑是相同的 有两个主要用途 一是在 UI 中
  • Android setContentView 还是 Intents?

    我有一个非常简单的 2 屏幕 Android 应用程序 简单地通过 setContentView 切换布局有什么缺点吗 或者我应该使用意图吗 如果出现问题 我不想打扰我的应用程序 另一件需要考虑的事情是 活动形成了stack http de
  • 从重叠的日期范围中获取不同的连续日期范围

    我需要从重叠日期列表中获取彼此不重叠的日期范围列表 并获取重叠期间的硬币总和 我尝试过用谷歌搜索一个例子 但到目前为止还没有运气 我可能没有使用正确的关键词 我有一个重叠日期的列表 1 1 2018 31 1 2018 80 7 1 201
  • 有没有一种方法可以使用 JavaScript 在网页中漂亮地打印 JSON?

    在我看来 漂亮打印 JSON 是一个足够简单的任务 JavaScript 应该能够处理它 有没有人编写过 或运行过 JavaScript 函数来执行此操作 执行此操作的一个简单方法是执行 JSON stringify data null w
  • 导入 go 包时出现问题

    这是我的代码结构 addition summing sum prg go addition go go mod go mod 的内容 module addition go 1 14 sum prg go 的内容 package summin
  • 如何在 Haskell 中查找运行时的核心数量

    Haskell 是否有一种方法可以确定运行时机器上存在的 CPU 核心数量 是的 有这样的方法 来自 现实世界 Haskell 的代码 http book realworldhaskell org read concurrent and m
  • 如何在eclipse中导入Jdeveloper java项目?

    我在 Jdeveloper 中有一个 java 项目 但我想将该项目迁移到 eclipse java 项目 你知道该怎么做吗 或者我必须手动导入它吗 提前致谢 通常 如果项目是基于 Web 的项目或 java 项目 则它有其结构 您应该能够
  • 无法在 VS2015 Enterprise 中使用 Microsoft Fakes - 缺少 COR_PROFILER

    我正在尝试在 VS 2015 Enterprise 中使用 Microsoft Fakes 我什至无法运行任何测试 我没有 testsettings 或 runsettings 文件 简单的测试项目参考 Microsoft QualityT
  • 与 Objective C 相比,Swift SHA256 加密返回不同的加密字符串

    我正在将一些代码从 Objective C 迁移到 Swift 我想在 swift 中使用 SHA 256 算法用密钥加密字符串 但与 Objective C 实现的 swift 代码相比 返回不同的加密字符串 两个代码看起来相同 只是语法
  • 自定义文件格式和编解码器?

    我已经被编解码器问题弄乱了好几天了 但仍然看不到全局 这是我第一次处理音频 视频格式和编解码器 所以我真的需要一些帮助 这是工作 我正在编写几个负责编码和解码自定义 mpeg 文件的组件 在标准解 压缩过程 对于音频和视频 之上 我将实现一
  • 使用假会话测试控制器

    我想为我的控制器编写测试 Result changeAction callAction controllers routes ref Users changePassword assertThat status changeAction i
  • 将 Xtext 与 StringTemplate 代码生成器链接

    在我当前的项目中 我试图链接用 xtext 编写的 DSL 规范和用 StringTemplate 编写的代码生成器 例如 我的 DSL 规范的语法如下 我通过 xText 提供的优秀编辑器工具输入此信息 structs TempStruc
  • 如何在WinRT下并行线程中执行C++函数?

    我有一个 C 代码 它使用 beginthreadex Windows 方法在线程中执行函数 现在我想将其移植到 WinRT 组件以将其包含在 Windows Phone 应用程序中 但Windows Phone不支持 beginthrea
  • 如何在 Excel VBA 中对字符串进行 URL 编码?

    是否有内置方法可以在 Excel VBA 中对字符串进行 URL 编码 或者我是否需要手动执行此功能 不 没有任何内置内容 直到 Excel 2013 看到这个答案 https stackoverflow com a 24301379 18
  • Java COM 桥

    我有一个超低延迟程序 需要与 Windows COM 组件交互 最快的方法是什么 使用像 JACOB 这样的 COM 桥或编写本机 COM 库并使用像 ZeroMQ 这样的消息总线发送消息 如果您使用 ZeroMQ 您将处理两个进程 将消息
  • 使用 Guid 和自定义表名称以及 Asp.net Identity 1.1 Alpha 创建自定义实现

    我从不同的问题中得出结论 在我提出问题时在下面列出 我想做五件事 据我从这些问题和答案中可以看出 所有这些都可以在我的 OnModelCreating 方法中完成 Preface 我正在使用 Asp Net Identity 1 1 alp