【问题标题】:Using ASP.NET Membership tables in MVC在 MVC 中使用 ASP.NET 成员表
【发布时间】:2013-01-24 23:25:26
【问题描述】:

我有一个在 .NET 4 Web 表单中创建的“用户管理门户”。该门户允许管理员在特定应用程序中添加和编辑用户(新用户获得一个随机生成的密码,该密码使用任何 Web 表单进行加密)。

我想构建一个对这些用户名和密码进行身份验证的 MVC 4 网站。我知道 SimpleMembership 是 ASP Membership 的一部分,但我不确定如何使用默认创建的网站来验证 webforms 用户名和密码。只是在web.config中设置机器密钥,将DB更改为会员DB,并不是那么简单。

例如:

  • 用户 A 在 Web 表单应用中创建,密码为 1234567
  • 用户 A 单击默认 MVC 应用上的登录按钮并使用密码 1234567(MVC 应用默认连接字符串设置为 Web 表单应用数据库)

有人有这方面的教程或能提供帮助吗?

【问题讨论】:

  • 在 ASP.NET MVC 应用程序中使用经典的、默认的 ASP.NET “Web 表单”成员资格提供程序会遇到什么问题?
  • 我想没什么。我只是希望有一种简单的方法可以使用 MVC 默认登录,而无需复制和粘贴 aspx 登录页面。
  • 您总是可以从 MVC3 项目或 WebForms 应用程序中复制提供者信息,因为 MVC 构建在相同的核心之上...

标签: c# asp.net .net asp.net-mvc asp.net-membership


【解决方案1】:

我相信在SimpleMembership 中您可以定义“用户配置文件”表,但它会创建自己的表以供密码使用。

例如,您可以获取任何 Model 类并使用 [Table("UserProfile")] 对其进行注释,以使 SimpleMemebrship 将其用作配置文件表。

这个答案Entity Framework Code-First Issues (SimpleMembership UserProfile table) 也帮助我修改SimpleMemberhip 以使用我的表格。

我认为这可能与您要查找的内容接近:http://blog.spontaneouspublicity.com/including-asp-net-simple-membership-tables-as-part-of-your-entity-framework-model 我认为这显示了如何设置其他默认用于 SimpleMembership 的表

【讨论】:

  • 我会试一试,但我需要应用程序具有相同的密码。我知道如果我构建多个 Webform 应用程序,我可以映射到同一个身份验证数据库并在 webconfig 中设置机器密钥,它就会工作。希望用 MVC 做类似的事情
  • 您还必须告诉 MVC SIMpleMembership 在哪里可以找到您的 userprofile 表 WebSecurity.InitializeDatabaseConnection("MovieDbContext", "UserProfile", "userID", "Username", autoCreateTables: true);
  • 那个不太好,因为默认的 Webforms 使用 GUID,而当您点击 .Login() 时,WebSecurity 需要一个 int
  • 很抱歉,我只有真正的 MVC SimpleMembership 经验,所以我可能不会提供太多帮助。祝你好运!
猜你喜欢
  • 2011-12-11
  • 1970-01-01
  • 2012-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多