asp.net mvc [Autorisieren ()] - Attribut für gemischte Gruppen und Benutzer
Ich bin mit ASP.NET MVC 1.1 mit Windows-Authentifizierung. Ich versuche nur zu ermächtigen, den Mitgliedern einer Gruppe und mich. Ich bin nicht Mitglied der Gruppe und hätte nicht sein müssen, ein Mitglied dieser Gruppe. Ich bin immer windows-login - /Kennwort-Eingabeaufforderung jedes mal, wenn ich auf die URL der web-app. Der HomeController ist
[HandleError]
[Authorize(Roles=@"MyDomain\\company.security.group.name")]
[Authorize(Users=@"MyDoamin\\MyName")]
[OutputCache(Duration=86400,VaryByParam="PageIndex")]
public class HomeController : Controller
Wie aktiviere ich diese Genehmigung? Die web-app läuft unter einer Website auf IIS6. Die Seite ist directory-Sicherheit zu akzeptieren anonym. Die web-app/virtuelles Verzeichnis hat den anonymen deaktiviert und die Integrierte Windows-Sicherheit aktiviert ist. Die web -.config hat
InformationsquelleAutor user266909 | 2010-01-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Subtyp
AuthorizeAttribute
zu schauen, Benutzer und Rollen. aus der Spitze von meinem Kopf (ungetestet):Können Sie näher erläutern, "hat nicht funktioniert," bitte?
Ich weiß, dies ist eine alte post, aber was Sie scheinen zu übersehen ist, dass
@
entfällt die Notwendigkeit, zu entkommen Ihre backslashes. Wenn Sie beide tun, erstellen Sie ein string-literal mit zwei backslashes, anstatt den einfachen Schrägstrich, die Sie benötigen.SplitString ist nicht in diesem Kontext zugegriffen werden.
InformationsquelleAutor Craig Stuntz
Als Sie sind, indem Sie Ihre Domäne/Benutzer und Domäne/Gruppe strings mit dem ' @ ' - Zeichen, brauchen Sie nicht die doppelte escape-backslash. Könnten Sie versuchen, anstelle diese Zeilen mit entweder:
oder
Ein bisschen weiter Lesen, hat auch gezeigt, dass die Autorisieren filter führen Sie einen "Benutzer" und "Rollen" zu überprüfen. Wenn der Benutzer nicht erfüllen beide Anforderungen, dann werden Sie abgelehnt.
Um das Verhalten Sie wollen, müssen Sie schreiben eine benutzerdefinierte Genehmigung filter wie bereits in einer vorherigen Antwort.
InformationsquelleAutor Andy Rose