ASP MVC4 Admin添加用户设置

时间:2012-10-16 00:40:44

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

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

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

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

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

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

给予后端用户管理员权限似乎无法从前端工作。

是否有关于此系统如何解决的一些解释?我在没有帮助的情况下使用谷歌。

1 个答案:

答案 0 :(得分:0)

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

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

您的选择是:

  1. 不要使用Web配置实用程序。手动添加用户,或通过脚本添加用户,或者创建自己的管理页面。
  2. 禁用简单成员资格,以便MVC使用旧的成员资格系统
  3. 做一些完全不同的事情(不要使用会员资格,使用不同的提供商,创建自己的提供商等等)。
  4. 至于一个单独的数据库,是的。如果您注意到,您的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