如何使用 MVC5RC/RTW 与现有数据库进行身份验证

2023-11-23

我最初问这个question当 Identity 处于测试阶段时。从那时起,类和接口发生了很大的变化,并且appearsRTW版本在RC版本的基础上又做了一些修改。原则上我需要实现以下目标。

  • 根据我的用户表 tblMembers 验证本地登录,其中包含用户 ID 字段和密码,这是我需要验证的两个项目。
  • 可以通过 Controller.User 属性访问我的 tblMember 记录/类(在 MVC5 身份之前,我已经使用会员提供者方法。)无论用户是通过 localuser 方法还是通过其他 OAuth 提供商(Twitter、Google 等)之一登录。
  • 尽管使用登录方法,仍能够显示我自己的自定义用户名。本地用户使用用户 ID 1234567 和密码登录,理想情况下我想显示“John Smith (1234567)”,无论身份验证方法如何(本地/Twitter 等)

最初我不确定我的成员类应该继承什么它似乎来自 我应该使用 IdentityUser 的 aspIdentitySample 项目?

        public partial class tblMember
        {
            public int id { get; set; }
            public string membership_id { get; set; }
            public string password { get; set; }
            ....other fields
        }

是否有任何将现有数据库/用户表与 ASP.NET Identity 系统集成的新的或更新的示例?


我还将身份表添加到我的数据库中。如果您在 Visual Studio 2013 中创建一个新的 Web 项目,您将看到现在在 RTM 中一切都比 RC 更好,而且您将看到 下表

  public class ApplicationUser : IdentityUser
  {


   }

因此,您可以调用表 tblMembers,而不是 ApplicationUser

  public class tblMembers : IdentityUser
  {


   }

您的表 tblMembers 将继承 Id 用户名密码安全标记和一个鉴别器列,表明这是一个 tblMemeber

如果不创建用于身份验证的自定义类,最简单的方法就是将用户名设置为旧用户名和用户 ID 的组合。然后将用户的真实姓名或旧用户名(不带用户 ID)存储在单独的列中。

让用户使用内置用户登录进行注册,他们可以转到管理帐户并单击使用其他服务进行登录。这会将 Google 帐户链接到他们的常规帐户,因此无论他们使用哪一个帐户,都会登录到同一个帐户。如果您有具有连接表信息的用户,我建议您使用与模板中找到的注册方法类似的方法为所有用户播种表。然后只需将新的组合用户名和 ID 与旧的用户名和 ID 相匹配,并在需要的地方填充数据SQL管理工作室。

同样,RC 中扩展 IdentityUsers 的许多问题都已得到修复。 Microsoft 已经向身份用户存储和本教程添加了更多功能http://www.windowsazure.com/en-us/develop/net/tutorials/web-site-with-sql-database/应该很快就会更新。我计划在完成更改数据库后进行自己的演练,但现在我希望我的建议,即使它们是比您可能想要实现的更简单的解决方案。

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

如何使用 MVC5RC/RTW 与现有数据库进行身份验证 的相关文章

随机推荐

  • 如何在 MS SQL Server 上模拟 Oracle 物化视图?

    连接到 MS SQL Server 的应用程序将创建视图 其中单行结果是包括 1 10k 记录聚合的分析 结果视图中的适用标准将有数十到数万个结果 然后 视图 条件将按视图中最有可能是聚合列的某些列 用户指定 进行排序 当使用聚合列进行排序
  • Dart/Flutter :日期范围内的天数列表

    我需要从日期范围中检索天数列表 用户选择开始日期和结束日期 并计算之间的天数 包括开始和结束日期 我尝试使用 for 循环 如下所示 List
  • Sub 与没有返回值的函数

    子程序的意义是什么 Sub 为什么不使用一个Function没有返回值 Edit 我的意思是 为什么关键字Sub存在 我可以用Function没有声明返回值并具有相同的 不是吗 因为它澄清了intent A Function明确地说 我回来
  • 如何在 GO 的 websocket 中保持连接处于活动状态

    I use code google com p go net websocket在服务器中 因此客户端可以从服务器获取通知 但是 客户端连接到服务器后 如果客户端和服务器之间没有任何数据传输 服务器将返回 EOF 错误websocket J
  • 如何将 Net::HTTP 响应转换为 Ruby 1.9.1 中的某种编码?

    我有一个 Sinatra 应用程序 http analyzethis espace technologies com 执行以下操作 检索 HTML 页面 通过 net http 从response body创建Nokogiri文档 提取一些
  • 数组被 array_keys() 和 array_values() 分割后元素顺序是否相同? [复制]

    这个问题在这里已经有答案了 我浏览了两者的手册页数组键 and 数组值 他们都没有提及是否遵守原始数组的元素顺序 他们所承诺的只是返回原始数组中的所有键或值 但是我们能绝对确定元素的顺序也与原始数组的顺序完全相同吗 不管是什么数组 我问这是
  • Flutter 中提供程序的单元测试

    我们已经以 TDD 方法启动了一个关于 Flutter 的新项目 我正在使用提供程序进行状态管理 在尝试编写小部件测试时 我们面临着测试提供程序的问题 您能否建议一个示例来编写提供者的单元测试和小部件注入提供者 我遇到以下问题 EXCEPT
  • PrimeFaces 文件下载不起作用

    我无法获取 primeFaces
  • Windows 10 上的 Ansi 颜色有点不起作用

    对于 Windows 来说 带有颜色的控制台相当新颖且令人兴奋 I wrote some programs that printed using the ansi colour escapes and all was good 然后突然停止
  • 使用 ansible 运行 mkvirtualenv

    我正在使用 ansible 配置一台机器 我成功地在虚拟机上安装了 virtualenv 和 virtualenvwrapper 但是 我似乎无法在虚拟机上创建 virtualenv 我正在尝试使用 name create virtuale
  • Java Servlet 对 POST 请求返回错误 405(方法不允许)

    我的servet对于get请求工作正常 但是当我调用POST 使用jquery ajax post 时 我收到错误405 不允许的方法 这是我的代码 import java io import javax servlet import ja
  • 停止下载nodejs请求中的数据

    我们如何停止服务器的剩余响应 例如 http get requestOptions function response Log the file size console log File Size response headers con
  • Android 复选框文本不显示

    我试图在我的 Android 活动之一中动态创建一些复选框 但它没有渲染文本 这是我的简化代码 布局 XML
  • 谁能确认这个问题(某些 Android 设备上的文件描述符数量有限)?

    我目前正在开发一款很酷的 Android 游戏 该游戏即将发布 我们的一些测试人员开始抱怨游戏崩溃并出现 打开文件太多 错误消息 我尝试在 AVD 模拟器上模拟此问题 但无法重现该错误 后来 我意识到只有我们的 Galaxy S3 和华硕
  • 在 SQL*Plus 中,如何更改提示以显示连接的用户和数据库?

    为了显示 例如 USER SID gt 我认为这对一些人可能有帮助 所以我也来回答一下 修改 ORACLE HOME sqlplus admin glogin sql 脚本 添加 set sqlprompt user connect ide
  • 无法导入 cv2 模块(Python 3.6)

    总的新人在这里 我尝试安装失败cv2python 的模块 但它不起作用 我正在使用 Python 3 6 64 位 我在cmd中输入了以下命令 C Users leahj gt C Users leahj AppData Local Pro
  • GitHub API - 写入存储库

    我查看了所有文档 但它没有回答我的问题 有没有办法写入存储库 上传文件 比如创建一个文件夹 然后上传 readme md 不需要创建文件夹 因为它们仅隐式存在于 git 中 这意味着如果您有一个带有路径的文件folder file txt那
  • 编译时如何编写程序?

    编写一个小型 C 程序 编译时需要另一个程序 从输入终端 运行时给出第二个的结果 程序 注意 关键是 想想 UNIX 假设 程序是1 c 然后 在编译时 cc o 1 1 c int main printf Hello World n D
  • Chromecast 设备被列入白名单后,如何在 Chrome 中启动接收器应用程序?

    我正在尝试从 Chrome 浏览器启动我的自定义接收器应用程序 这样做的第一步似乎是为我感兴趣的活动类型添加接收器侦听器 cast api new cast Api cast api addReceiverListener activity
  • 如何使用 MVC5RC/RTW 与现有数据库进行身份验证

    我最初问这个question当 Identity 处于测试阶段时 从那时起 类和接口发生了很大的变化 并且appearsRTW版本在RC版本的基础上又做了一些修改 原则上我需要实现以下目标 根据我的用户表 tblMembers 验证本地登录