1

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

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

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

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

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

从前端授予后端用户管理员权限似乎不起作用。

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

4

1 回答 1

0

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

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

您的选择是:

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

至于单独的数据库,是的。如果您注意到,您的 web.config 中没有成员资格配置。相反,ASP.NET Congifuration 实用程序使用在您的 machine.config 中定义的默认成员资格配置c:\windows\microsoft.net\framework[64]\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

于 2012-10-16T01:06:45.410 回答