2017-03-03 8 views
0

Ich bin ziemlich neu zu diesem benutzerdefinierten Rollenanbieter (ich denke, es ist aber gut), jetzt versuche ich, den Benutzer bestimmte Bereiche der Web-App zu sehen oder zugreifen basierend auf ihren Rollen befinden sich diese Rollen in der Datenbank (admin, user und super_user). Ich habe eine Klasse mit dem Namen UserRoleProvider und unten ist der Teil davon, der nichtASP.NET MVC 5 Benutzerdefinierte Rollenanbieter gibt keine erwarteten Werte zurück

public override string[] GetRolesForUser(string username) 
    { 
     using (CADDeContext caddeContext = new CADDeContext()) 
     { 
      int? roleId = caddeContext.SMS_Staff.First().StaffSecurity; 
      string site = caddeContext.SMS_Staff.First().BranchID; 

      return new string[] { roleId.ToString() }; 
     } 
    } 

diese Methode nicht zurück in der Datenbank einen des Wertes zu funktionieren scheint, was seine völlig zurückgeführt wird anders aus, was ich in der Datenbank, wo bekommt man all diese Werte, I 100% Ich habe den richtigen Verbindungsstring in der Webkonfiguration, ich habe diese Verbindung auch mit Quickwatch überprüft. Unten ist der Screenshot (ohne Werte) aller Felder, die ich aus dem Kontext

Expected database fields to be returned

Antwort

0

Oh nein, ich kann nicht glauben, bekommen erwarten, wie groß und dumme Fehler Ich habe gerade, gibt es keine where-Klausel auf meinem Abfrage und auch die Aufnahme von "ersten" auf meine Abfrage, warf alles ab, ich fühle mich so dumm :(

Verwandte Themen