我刚刚在网站管理工具中学习了管理员这一点,并设置了一个新项目。我已经访问了后端的安全面板,并创建了一个admin角色,用于通过控制器过滤器访问视图。所有标准的东西。
然而,当我尝试使用此用户登录前端时,它不存在,我必须重新创建它。
或者,当我在前端创建用户,并尝试在后端为他分配管理员角色时,他也不存在。
只有在后端创建的用户才存在于后端,并且可以分配角色
前端用户和后端用户之间似乎没有任何联系。似乎有两个独立的数据库,一个拥有前端用户和一个后端用户。
给予后端用户管理员权限似乎无法从前端工作。
是否有关于此系统如何解决的一些解释?我在没有帮助的情况下使用谷歌。
答案 0 :(得分:0)
如果您使用的是标准的asp.net mvc 4应用程序,那么是的。这是可以预期的。
原因是默认情况下MVC4使用名为SimpleMembership的不同成员资格提供程序,并且此提供程序与ASP.NET配置实用程序不兼容。该配置实用程序使用旧的成员资格提供程序,它具有完全不同的表。
您的选择是:
至于一个单独的数据库,是的。如果您注意到,您的web.config中没有成员资格配置。相反,ASP.NET Congifuration实用程序使用c:\windows\microsoft.net\framework[64]\config
中machine.config中定义的默认成员资格配置。默认位置是位于App_Data目录下名为aspnet.mdf
编辑:
有关新提供商的更多信息:
此外:
http://geekswithblogs.net/Aligned/archive/2012/08/30/mvc-4-authentication.aspx