Asp.net mvc 4 SimpleMembership、MVC4、AuthorizeAttribute和Roles
我正在尝试向一些MVC4控制器添加authorize属性,只要它是一个计划Asp.net mvc 4 SimpleMembership、MVC4、AuthorizeAttribute和Roles,asp.net-mvc-4,simplemembership,Asp.net Mvc 4,Simplemembership,我正在尝试向一些MVC4控制器添加authorize属性,只要它是一个计划[authorize]或[authorize(Users=“myuser”)],它们就可以正常工作,但是第二次我添加任何类型的角色过滤时,它就会崩溃,例如[authorize(Roles=“admin”)]。然后我开始出现如下错误: “/”应用程序中出现服务器错误 运行时发生与网络相关或特定于实例的错误 正在建立与SQL Server的连接。找不到服务器,或者 无法访问。验证实例名称是否正确,以及 SQL Server配置
[authorize]
或[authorize(Users=“myuser”)]
,它们就可以正常工作,但是第二次我添加任何类型的角色过滤时,它就会崩溃,例如[authorize(Roles=“admin”)]
。然后我开始出现如下错误:
“/”应用程序中出现服务器错误
运行时发生与网络相关或特定于实例的错误
正在建立与SQL Server的连接。找不到服务器,或者
无法访问。验证实例名称是否正确,以及
SQL Server配置为允许远程连接。(提供程序:SQL)
网络接口,错误:26-定位服务器/实例时出错
(指定)
描述:在执行过程中发生未处理的异常
当前的web请求。请查看堆栈跟踪以了解更多信息
有关错误的信息及其在代码中的来源
SQLExpress数据库文件自动创建错误:
连接字符串指定本地Sql Server Express实例
使用应用程序的App_数据目录中的数据库位置。
提供程序试图自动创建应用程序
服务数据库,因为提供程序确定该数据库
不存在。以下配置要求是必需的
若要成功检查应用程序服务是否存在,请执行以下操作:
数据库并自动创建应用程序服务数据库:
如果应用程序正在Windows 7或Windows Server上运行
2008R2,需要特殊配置步骤才能启用自动
创建提供者数据库。其他信息可用
在:。如果
应用程序的App_数据目录不存在,web
服务器帐户必须对应用程序的
目录这是必需的,因为web服务器帐户将
如果尚未创建App_数据目录,则自动创建该目录
存在。如果应用程序的App_数据目录已存在,则web
服务器帐户只需要对
应用程序的App_数据目录。这是必要的,因为网络
服务器帐户将尝试验证Sql server Express
数据库已存在于应用程序的App_数据目录中。
正在从web服务器撤消对App_数据目录的读取访问
帐户将阻止提供程序正确确定
Sql Server Express数据库已存在。这将导致错误
当提供程序尝试创建已存在的副本时
现有数据库。需要写访问权限,因为web服务器
创建新数据库时使用帐户的凭据。Sql
必须在计算机上安装Server Express。进程标识
对于web服务器,帐户必须具有本地用户配置文件。见
自述文件,了解有关如何为创建本地用户配置文件的详细信息
计算机和域帐户
源错误:
在执行过程中生成了未处理的异常
当前web请求。关于货物来源和位置的信息
可以使用下面的异常堆栈跟踪来识别异常
堆栈跟踪:
[SqlException(0x80131904):与网络相关或特定于实例的
建立与SQL Server的连接时出错
找不到服务器或无法访问服务器。请验证实例
名称正确,并且SQL Server配置为允许远程访问
连接。(提供程序:SQL网络接口,错误:26-错误)
查找指定的服务器/实例)]System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常,布尔断开连接,操作
1 wrapCloseInAction)
+5295167 System.Data.SqlClient.TdsParser.ThroweException和Warning(TdsParserStateObject
stateObj,布尔调用方连接锁,布尔异步关闭)+242
System.Data.SqlClient.TdsParser.Connect(ServerInfo-ServerInfo,
SqlInternalConnectionDS connHandler,布尔值IgnoresInOpenTimeout,
Int64 timerExpire,布尔加密,布尔信任服务器证书,布尔
集成安全性,带故障切换的布尔值)+5307115
System.Data.SqlClient.sqlinternalconnectionds.AttemptOneLogin(ServerInfo
serverInfo、String newPassword、SecureString newSecurePassword、,
布尔值IgnoresInOpenTimeout,TimeoutTimer timeout,布尔值
带故障切换)+145
System.Data.SqlClient.sqlinternalconnectionds.loginnofilover(ServerInfo
serverInfo、String newPassword、SecureString newSecurePassword、,
Boolean redirectedUserInstance,SqlConnectionString connectionOptions,
SqlCredential凭证,超时时间)+920
System.Data.SqlClient.sqlinternalconnectionds.OpenLoginEnlist(TimeoutTimer
超时,SqlConnectionString连接选项,SqlCredential
凭证、字符串newPassword、SecureString newSecurePassword、,
布尔重定向EduseInstance)+307
System.Data.SqlClient.SqlInternalConnectionDS..ctor(DbConnectionPoolIdentity
标识、SqlConnectionString连接选项、SqlCredential
凭证、对象providerInfo、字符串newPassword、SecureString
newSecurePassword、布尔重定向edUserInstance、SqlConnectionString
用户连接选项)+434
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions
选项、DbConnectionPoolKey poolKey、对象poolGroupProviderInfo、,
DbConnectionPool池,DbConnection owningConnection,
数据库连接选项用户选项)+5309659
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection
owningConnection、DbConnectionPoolGroup poolGroup、DbConnectionOptions
用户选项)+38
System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection
owningConnection,TaskCompletionSource
1重试,DbConnectionOptions
用户选项
[InitializeSimpleMembership]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Transactions;
using System.Web;
using System.Web.Mvc;
using System.Web.Security;
using DotNetOpenAuth.AspNet;
using Microsoft.Web.WebPages.OAuth;
using WebMatrix.WebData;