【问题标题】:ASP MVC4 Admin add user settingsASP MVC4 Admin 添加用户设置
【发布时间】:2012-10-16 00:40:44
【问题描述】:

我刚刚在网站管理工具中学习了管理方面的知识,并建立了一个新项目。我访问了后端的安全面板,并创建了一个管理员角色,用于通过控制器过滤器访问视图。所有标准的东西。

但是,当我尝试使用该用户登录前端时,它不存在,我必须重新创建它。

或者,当我在前端创建用户并尝试在后端为他分配管理员角色时,他也不存在。

只有在后端创建的用户,存在于后端并且可以被分配角色

前端用户和后端用户之间似乎没有任何联系。似乎有两个独立的数据库,一个拥有前端用户,一个拥有后端用户。

从前端似乎无法为后端用户授予管理员权限。

有没有关于这个系统如何工作的一些解释?我在没有帮助的情况下使用了谷歌。

【问题讨论】:

  • 恭喜您的聪明而有帮助的回复。
  • 好吧,你不得不承认,你基本上说了几次同样的事情,但方式略有不同。我们第一次得到它。

标签: asp.net asp.net-mvc-4


【解决方案1】:

如果您使用的是标准的 asp.net mvc 4 应用程序,那么可以。这是意料之中的。

原因是 MVC4 默认使用不同的成员资格提供程序,称为 SimpleMembership,并且此提供程序与 ASP.NET 配置实用程序不兼容。该配置实用程序使用旧的成员资格提供程序,它具有完全不同的表。

您的选择是:

  1. 不要使用 Web 配置实用程序。手动添加用户,或通过脚本添加用户,或者创建您自己的管理页面。
  2. 禁用简单会员,以便 MVC 使用旧的会员系统
  3. 做一些完全不同的事情(不要使用会员资格,使用不同的提供者,创建自己的提供者等...)

至于单独的数据库,是的。如果您注意到,您的 web.config 中没有成员资格配置。相反,ASP.NET Congifuration 实用程序使用c:\windows\microsoft.net\framework[64]\config 中您的 machine.config 中定义的默认成员资格配置。默认位置是位于 App_Data 目录下的项目目录中名为 aspnet.mdf 的文件

编辑:

有关新提供商的更多信息,请点击此处:

http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net-4-5-web-forms-and-asp-net-mvc-4-templates.aspx

还有:

http://geekswithblogs.net/Aligned/archive/2012/08/30/mvc-4-authentication.aspx

【讨论】:

  • 天哪,真令人沮丧。 MS 是否将 Web 配置实用程序弄乱了,或者是否有更大的计划正在发生?感谢您对此的帮助,我在其他任何地方都没有找到此信息。
  • @netchicken - Web 配置实用程序没有任何问题。 “问题”是它除了经典的 MembershipProvider 什么都不懂。 SimpleMembership 是一个 ExtendedMembershipProvider,它没有实现许多经典方法,因此 asp.net 配置实用程序无法使用它。它使用单独数据库的原因是 web.config 中缺少成员资格配置,但即使您将其配置为使用 web.config 中的简单提供程序,它也会抛出异常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-23
  • 1970-01-01
  • 2011-10-07
  • 2011-07-21
  • 2015-01-24
相关资源
最近更新 更多