角色提供程序不使用SQL Server Enterprise

时间:2014-01-30 17:50:58

标签: sql sql-server entity-framework asp.net-mvc-5 asp.net-identity

我收到以下错误,

  

此版本的SQL Server不支持用户实例登录标志。连接将被关闭。

来自我剃刀视图中的以下代码行(MVC5)

@if(Roles.IsUserInRole("User"){}

我已将数据库sql server从Express 2012升级到Enterprise 2012版。之后我遇到了上述错误。由于我的应用程序是EF代码优先,因此数据库是自动创建的,但角色提供程序似乎不起作用。

<add name="Foo" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Foo_db;User ID=sa;Password=******" providerName="System.Data.SqlClient" />

2 个答案:

答案 0 :(得分:0)

查看此主题。它应该有所帮助。

http://forums.asp.net/t/1939748.aspx

我测试了这个,User.IsInRole现在正在为我工​​作。确保在启动课程

中有此功能

答案 1 :(得分:0)

您是否记得将应用程序名称放在Web配置中?

  <roleManager enabled="true">
   <providers>
      <clear />
        <add connectionStringName="ApplicationServices" 
             name="AspNetSqlRoleProvider"       
             type="System.Web.Security.SqlRoleProvider" 
             applicationName="DONT FORGET THIS PART" />
    </providers>
</roleManager>