in meinem Projekt habe ich einen Benutzer mit 2-Position, so, Ich habe einen Benutzer mit zwei Rollen in AspNetUserRoles Tabelle in meiner Datenbank hinzugefügt,mehr Rollen für einen Benutzer in aspnet Identität
so zum Beispiel, mein Benutzer mit diesem Namen: „[email protected]“ hat zwei Rollen: „accountant“ und „ExecutiveExpert“
aber wenn ich User.IsInRole("ExecutiveExpert")
Funktion aufrufen, es überprüfen die erste Rolle: accountant, nicht alle Rollen (Buchhalter und ExecutiveExpert) und es gibt false zurück,
Wie kann ich die asp.net-Identität ändern, um alle Benutzerrollen zu überprüfen? ist es generell möglich?
sind meine Tabellen sind:
[AspNetUsers]:ID: c35721e2-05ef-4c32-8915-b4ad117c5a98
[AspNetRoles]:
Id Name
743f5c09-2b94-4da6-ab1c-9c9a6c9373b7 accountant
845efdf6-ab07-475c-9eb1-b14365b1a54c ExecutiveExpert
[AspNetUserRoles]:
userID RoleID
c35721e2-05ef-4c32-8915-b4ad117c5a98 743f5c09-2b94-4da6-ab1c-9c9a6c9373b7
c35721e2-05ef-4c32-8915-b4ad117c5a98 845efdf6-ab07-475c-9eb1-b14365b1a54c
Ich verstehe nicht, was Sie sagen. 'User.IsInRole' gibt Ihnen nur einen booleschen Wert. Wenn es die angegebene Rolle hat, werden Sie wahr, sonst falsch. – mason
Sie müssen eine 'Zeichenfolge' an' IsInRole' übergeben. Siehe [die Dokumente] (https://msdn.microsoft.com/en-us/library/system.web.security.roleprincipal.isinrole (v = vs.110) .aspx) –
@ Mason: Ich nur meine Frage bearbeiten , würdest du es bitte noch einmal lesen? Danke. –