SimpleMembership, MVC4, AuthorizeAttribute et les rôles

Je suis en train d'ajouter autoriser les attributs de certains de mes MVC4 contrôleurs, et qu'ils fonctionnent très bien, tant que c'est un plan [Authorize] ou [Authorize(Users="myuser")]mais la seconde je l'ai ajouter dans toute sorte de rôle de filtrage, il tombe à l'eau, par exemple. [Authorize(Roles="admin")]. Je puis commencer à obtenir des erreurs comme:

Erreur de serveur dans l'Application'/'.

Une liée au réseau ou spécifique à l'instance erreur s'est produite lors
l'établissement d'une connexion à SQL Server. Le serveur n'a pas été trouvé ou
n'était pas accessible. Vérifiez que le nom de l'instance est correct et que
SQL Server est configuré pour autoriser les connexions à distance. (fournisseur: SQL
Les Interfaces réseau, erreur: erreur de 26 recherche Serveur/Instance
Spécifié)

Description: Une exception non gérée s'est produite lors de l'exécution de
la demande web actuelle. Veuillez consulter la trace de la pile pour plus d'
informations sur l'erreur et où elle a son origine dans le code.

SQLExpress fichier de base de données de l'auto-création d'erreur:

La chaîne de connexion spécifie une instance Sql Server Express locale
à l'aide d'une base de données de localisation dans l'application App_Data répertoire.
Le fournisseur a tenté de créer automatiquement l'application
les services de base de données parce que le fournisseur a déterminé que la base de données
il n'existe pas. La configuration suivante exigences sont nécessaires
pour réussir à vérifier l'existence de la demande de services
base de données et de créer automatiquement les services d'application de base de données:

Si l'application est en cours d'exécution sur Windows 7 ou de Windows Server
2008R2, spécial étapes de configuration sont nécessaires pour permettre le
création de la base de données du fournisseur. Des informations supplémentaires sont disponibles
à: http://go.microsoft.com/fwlink/?LinkId=160102. Si l'
l'application App_Data répertoire n'existe pas déjà, le web
compte de serveur doit avoir accès en lecture et écriture à l'application de la
répertoire. Cela est nécessaire parce que le serveur web compte
créer automatiquement le App_Data répertoire s'il n'est pas déjà
existent. Si la demande est App_Data répertoire existe déjà, le web
compte de serveur nécessite uniquement l'accès en lecture et écriture à l'
l'application App_Data répertoire. Cela est nécessaire parce que le web
compte de serveur va tenter de vérifier que la version de Sql Server Express
la base de données existe déjà au sein de l'application App_Data répertoire.
La révocation de l'accès en lecture sur le App_Data répertoire du serveur web
compte empêcher le prestataire de déterminer correctement si le
Sql Server Express base de données existe déjà. Cela va provoquer une erreur
lorsque le fournisseur tente de créer une copie d'un déjà
base de données existante. L'accès en écriture est nécessaire parce que le serveur web
informations d'identification du compte sont utilisés lors de la création de la nouvelle base de données. Sql
Serveur Express doit être installé sur la machine. L'identité de processus
pour le serveur web compte doit avoir un profil d'utilisateur local. Voir la
document readme pour plus de détails sur la façon de créer un profil d'utilisateur local pour
les deux machine et les comptes de domaine.

Source De L'Erreur:

Une exception non gérée s'est produite lors de l'exécution de la
demande web actuelle. Informations concernant l'origine et l'emplacement de
l'exception peut être identifié à l'aide de la trace de pile d'exception ci-dessous.

Trace De La Pile:

[SqlException (0x80131904): Une liée au réseau ou spécifique à l'instance
erreur s'est produite lors de l'établissement d'une connexion à SQL Server. L'
le serveur n'a pas été trouvé ou n'est pas accessible. Vérifier que l'instance
le nom est correct et que SQL Server est configuré pour autoriser les
les connexions. (fournisseur de: Interfaces Réseau SQL, erreur: erreur de 26
Recherche Serveur/De L'Instance Spécifiée)]
Système.Les données.SqlClient.SqlInternalConnection.OnError(SqlException
exception, d'une valeur de type Boolean breakConnection, Action1 wrapCloseInAction)
+5295167 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject
stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +242
System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo,
SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout,
Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean
integratedSecurity, Boolean withFailover) +5307115
System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo
serverInfo, String newPassword, SecureString newSecurePassword,
Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean
withFailover) +145
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo
serverInfo, String newPassword, SecureString newSecurePassword,
Boolean redirectedUserInstance, SqlConnectionString connectionOptions,
SqlCredential credential, TimeoutTimer timeout) +920
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer
timeout, SqlConnectionString connectionOptions, SqlCredential
credential, String newPassword, SecureString newSecurePassword,
Boolean redirectedUserInstance) +307
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity
identity, SqlConnectionString connectionOptions, SqlCredential
credential, Object providerInfo, String newPassword, SecureString
newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString
userConnectionOptions) +434
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions
options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo,
DbConnectionPool pool, DbConnection owningConnection,
DbConnectionOptions userOptions) +5309659
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection
owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions
userOptions) +38
System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection
owningConnection, TaskCompletionSource
1 réessayer, DbConnectionOptions
userOptions, DbConnectionInternal& connexion) +5311874
Système.Les données.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection
outerConnection, DbConnectionFactory connectionFactory,
TaskCompletionSource1 retry, DbConnectionOptions userOptions) +143
System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource
1
retry) +83 Système.Les données.SqlClient.SqlConnection.Open() +96
Système.Web.De la gestion.SqlServices.GetSqlConnection(Chaîne de serveur,
String user, String mot de passe, Boolean, de confiance, de la Chaîne
connectionString) +76

[HttpException (0x80004005): Impossible de se connecter à SQL Server
la base de données.]
Système.Web.De la gestion.SqlServices.GetSqlConnection(Chaîne de serveur,
String user, String mot de passe, Boolean, de confiance, de la Chaîne
connectionString) +131
Système.Web.De la gestion.SqlServices.SetupApplicationServices(String
serveur, Chaîne d'utilisateur, mot de passe de Chaîne, Booléen de confiance, Chaîne
connectionString, Chaîne de base de données, Chaîne dbFileName, SqlFeatures
caractéristiques, Boolean installer) +89
Système.Web.De la gestion.SqlServices.Installer(Chaîne de base de données, Chaîne
dbFileName, Chaîne connectionString) +27
Système.Web.DataAccess.SqlConnectionHelper.CreateMdfFile(String
fullFileName, Chaîne dataDir, Chaîne connectionString) +386

Informations De Version: Microsoft .NET Framework Version:4.0.30319;
ASP.NET Version:4.0.30319.17929

Je suis vraiment pas sûr de ce qui se passe ici. Encore une fois, si je supprime les rôles bits de l'autoriser l'attribut, puis il fonctionne très bien (autant que l'arrêt des utilisateurs non autorisés au moins), mais ce n'est pas bon si je dois coder en dur l'administrateur des utilisateurs dans l'application!

Aucune idée de ce qui se passe ici, et comment je peux le faire fonctionner correctement?

Merci,

source d'informationauteur Dylan Parry