.NET MVC授权属性抛出SQL网络相关的异常(.NET MVC Authorization At

2019-09-30 17:03发布

我定义了诸如以下的授权属性:

public override void OnAuthorization(AuthorizationContext filterContext)
{
    base.OnAuthorization(filterContext);
    if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
    {
        filterContext.Result = new RedirectResult("~/Login");
        return;
    }
    var requiredRoles = Roles.Split(Convert.ToChar(",")).ToList();
    var roles = ((ClaimsIdentity)filterContext.HttpContext.User.Identity).Claims
        .Where(c => c.Type == ClaimTypes.Role)
        .Select(c => c.Value);

    if (!roles.Any(r => requiredRoles.Contains(r)))
    {
        filterContext.Result = new RedirectResult("~/Subscriptions/Subscribe");
        return;
    }
}

出于某种原因,这个代码是抛出以下异常:

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

我已经测试了不同的控制器像注册是否web配置文件是对我的DB正确配置,它看起来很好。 我不知道这可能是这里的问题?

文章来源: .NET MVC Authorization Attribute throwing SQL network related exception