Meine Seite blendet Inhalt aus, wenn der Benutzer nicht in einer Rolle ist, die ihn sehen soll.Inhalt dynamisch basierend auf Benutzerrolle anzeigen
Momentan habe ich 2 Rollen, die diesen Inhalt sehen können: global und admin.
Wenn der Benutzer in einer dieser Rollen ist, sollten sie in der Lage sein, den Inhalt zu sehen, aber ich habe Probleme beim Ausarbeiten der Bedingung.
Hier ist, was ich bisher habe:
// roles can be a single role ("global")
// or it can be multiple roles ("global,admin")
private bool CheckAllowed(string roles)
{
var user = HttpContext.Current.User;
var allowed = false;
if (roles.Contains(","))
{
string[] rolesArr = roles.Split(',');
foreach (string r in rolesArr)
{
allowed = (user.IsInRole(r)) ? true : false;
}
}
else
{
allowed = (user.IsInRole(r)) ? true : false;
}
return allowed;
}
Mein Problem mit der Schleife ist.
Wenn der Benutzer in rolesArr[0]
ist aber nicht in rolesArr[1]
dann wird die Schleife sie markieren „nicht erlaubt“ und sie werden die Inhalte, die sie brauchen, um als Mitglied der rolesArr[0]
nicht sehen.
Wie kann ich verfolgen, ob ein Benutzer den rollenspezifischen Inhalt genauer anzeigen kann?
Ich ... hätte nie gedacht, mit linq für diese ... Es ist schön. Wird markiert, wenn ich es getestet habe, aber jetzt erhältst du +1 – Ortund