【问题标题】:ASP.NET MVC 5- Getting Roles for specfic userASP.NET MVC 5-获取特定用户的角色
【发布时间】:2016-12-03 08:32:24
【问题描述】:

在我的 ASP.NET 项目中,我试图通过他们的 ID 获取用户的当前角色。这是我的控制器代码:

 public ActionResult ChangeRole(string id)
    {
        var user = _context.Users.Single(u => u.Id == id);
        var roles = new RoleManagerViewModel()
        {
            RoleNames = Roles.GetRolesForUser(user.Id)
        };
         return View(roles);
    }

当我尝试运行它时,我得到了这个错误:

角色管理器功能尚未启用。

我读到我可以通过添加 roleManager enabled="true" 来解决这个问题。

在我将它添加到我的web.config 文件之后,虽然我得到了这个错误:

与 SQL Server 建立连接时出现与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定实例)

【问题讨论】:

    标签: c# sql-server asp.net-mvc connection-string


    【解决方案1】:

    如果未通过 web.config 为正在访问的 SQL Server 提供正确的身份验证、拼写错误或在该特定服务器的连接字符串中定义的 SQL Server 不存在,通常会发生此错误。如果正在访问角色管理器数据库,下面提供的链接中的相关信息可能会有所帮助。

    例如,

    <add name="SqlConnection" connectionString="Data Source=MSSQLSERVER; Initial Catalog=DatabaseName; Integrated Security=True;">
    </add>
    

    更多信息在这里:https://msdn.microsoft.com/en-us/library/ff647401.aspx?f=255&MSPPError=-2147217396

    如果正在使用 Windows 身份验证,则当 Integrated Security 设置为 true 时,它​​将使用 Windows Active Directory 登录凭据连接到数据库服务器。尝试验证登录凭据是否与数据库服务器匹配。

    【讨论】:

    • 它只是在访问我计算机上的本地数据库,所以我想我很困惑为什么当我尝试获取角色时会出错。
    猜你喜欢
    • 1970-01-01
    • 2015-07-17
    • 2021-12-27
    • 2016-06-15
    • 2019-08-22
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    • 2014-08-31
    相关资源
    最近更新 更多