Wenn ich versuche, Roles.IsUserInRole ("roleX") oder eine verwandte Methode zu verwenden, bekomme ich ein Datenbankverbindungsproblem, wie man sehen kann here. Ich kann jederzeit auf Rollen in der Datenbank zugreifen und lesen/schreiben, also bin ich mir ziemlich sicher, dass ich keine Verbindungsprobleme habe. Alle Benutzer-IDs stimmen gut überein. Der Fehler tritt auch auf, wenn versucht wird, auf eine Controller-Methode zuzugreifen, die für eine bestimmte Rolle authentifiziert ist? Sobald eine Zeile in Bezug auf die Rollenüberprüfung angezeigt wird, stürzt die App sofort ab und nach etwa einer Minute werden Fehler gemeldet. Das einzige Mal, dass ich diesen Fehler bekomme, ist der Versuch, auf Rollen zuzugreifen, nicht sicher, ob die Identität irgendwie nicht mit der DB verbunden ist? Ich bin in dieser Sache völlig am Ende, das Einzige, was mir einfällt, ist, dass etwas mit Identität nicht richtig eingerichtet ist. Irgendwelche Ideen werden sehr geschätzt.ASP.NET MVC SQL Server nicht zugänglich beim Versuch, Rollen zu authentifizieren oder zuzugreifen?
ASP.NET MVC SQL Server nicht zugänglich beim Versuch, Rollen zu authentifizieren oder zuzugreifen?
Antwort
Ihr Problem ist, dass Roles.IsUserInRole("roleX")
nicht Teil des Identity-Framework ist. Dies ist Teil von MembershipProvider und Sie möchten es nicht verwenden. Grund für das Abrufen dieses Fehlers - MembershipProvider versucht, hilfreich zu sein und versucht, eine Verbindung zu einer Datenbank herzustellen, einer Datenbank, von der Sie noch nie gesprochen haben.
Wenn Sie überprüfen müssen, ob der aktuelle Benutzer in einer Rolle ist, verwenden Sie User.IsInRole("RoleX");
. Wobei User
Teil eines Controllers oder einer View ist. Oder Sie können es auch über HttpContext.Current.User.IsInRole("RoleX");
tun. Dies überprüft das Authentifizierungs-Cookie auf Informationen zu Rollen (alle Rollen für angemeldete Benutzer werden in Authentifizierungs-Cookie beibehalten).
Wenn Sie in der Datenbank tauchen mögen für Rollen für einen beliebigen Benutzer zu überprüfen (nicht die in einer angemeldet derzeit) - Sie benötigen ApplicationUserManager.IsInRoleAsync()
Guter Fang, ich habe die Verwendung der Roles-Klasse im Vergleich zu User nicht bemerkt. –
- 1. ASP.NET MVC Rollen Authorization
- 2. ASP.NET Development Server nicht zugänglich
- 3. Session-Server-Seite oder Client-Seite (zugänglich oder nicht)?
- 4. Fehler beim Versuch, asp.net mvc-Webanwendung mit TeamCity zu erstellen
- 5. ASP.NET MVC speichern Hebräisch zu SQL Server
- 6. ASP.NET - Fehler beim Versuch, Migrationen zu aktivieren
- 7. Asp.Net Rollen ohne Rollen Anbieter funktioniert nicht?
- 8. Fehler beim Versuch, auf meinen Link zuzugreifen
- 9. ASP.NET MVC und SQL Server Reporting Services
- 10. ASP.NET fehlgeschlagen Ordner nicht zugänglich zu machen
- 11. Hinzufügen von benutzerdefinierten Rollen Fenster Rollen in ASP.NET MVC 5
- 12. Linq zu SQL Associated Tabelle nicht zugänglich
- 13. ASP.net MVC: Benötigte Rollen für Login?
- 14. dynamisch zuordnen Rollen Controller in ASP.Net MVC
- 15. ASP.NET MVC 5- Abrufen von Rollen für den spezifischen Benutzer
- 16. Wie setze ich Rollen oder Richtlinien in asp.net MVC 6 Windows Authentifizierung
- 17. Nullzeigerausnahme beim Versuch, auf Klasse zuzugreifen
- 18. ASP.NET MVC Hinzufügen von Rollen manuell
- 19. ASP.NET MVC Bild zu SQL Server-Datenbank speichern und abrufen
- 20. CSV-Datei Fehler beim Versuch, darauf zuzugreifen
- 21. Wie Implementieren von Rollen in ASP.NET MVC?
- 22. SQL Server-Fehler beim Versuch, eine Verbindung herzustellen
- 23. Beitrag mit JQuery zu ASP.NET MVC [Authentifizieren] -wrapped Aktion
- 24. Fehler beim Versuch, auf Datenbank auf dem Server zuzugreifen: Verbindung zum MySQL-Server verloren
- 25. "Verbindungsfehler geschlossen" beim Versuch, Ruby mit SQL Server zu verbinden
- 26. Persistente Daten zu SQL Server über ASP.NET MVC
- 27. ASP.NET-Anwendung - Fehler beim Versuch, eine Verbindung zu einer SQL Server 2008-Instanz herzustellen
- 28. DbContext nicht mit SQL Server Compact in ASP.Net MVC
- 29. Interner Serverfehler beim Versuch, auf meine Site zuzugreifen
- 30. ASP.NET SQL Server-Setup-Assistent
überprüfen Sie die Verbindungszeichenfolgen zu verwenden, sie befinden sich in der gleichen, um zu überprüfen Lage? – mason
Sie sind, ich habe das mehrfach überprüft. Trotzdem danke! – LeRainman
Sie können die Lösungsschritte in dieser Frage http://stackoverflow.com/questions/18060667/why-am-i-getting-cannot-connect-to-server-a-network-related-or-instance-speci finden. Markieren Sie diese Frage als doppelt. –