MVC3: Kann man den controller erfordern die Windows-Authentifizierung während einer Sekunde ermöglicht, anonym?
Ich habe einen controller, der rendert die Seiten in eine interne web-Anwendung, muss mit windows-Authentifizierung. Es existiert ein zweiter controller verwendet, für JSON-basierte Abfragen in das system, das NICHT brauchen werden, um Windows Authentifiziert? Ist das möglich? Es scheint, ich habe nur in der Lage gewesen zu tun, der ein oder andere im moment.
Irgendwelche Vorschläge?
- "nur in der Lage war eine oder die andere", wie genau hast du dann?
- Wie genau hast du aktiviert windows auth?
- IIS-Einstellungen, die die Windows-Authentifizierung aktiviert ist, und wird auch so Anonym. Web.config hat <authentication mode="Windows" />. Ich fügte hinzu, die [Genehmigen] - Attribut, um die controller, die ich brauchte, zu schützen, und ließ es aus dem controller wollte ich aussetzen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja. Basierend auf dem, was die Authentifizierung, die Sie wählen, Sie schmücken den controller action-Methode mit Autorisieren
Dieser Artikel zeigt genau das, was du suchst:
http://www.asp.net/mvc/tutorials/authenticating-users-with-windows-authentication-cs
Aus dem Artikel "Zum Beispiel, Home-controller in Listing 1 stellt drei Handlungen, die mit Namen Index(), CompanySecrets(), und StephenSecrets(). Jeder kann aufrufen der Index () - Aktion. Jedoch sind nur die Mitglieder der lokalen Windows-Gruppe Manager aufrufen kann, die CompanySecrets () - Aktion. Schließlich, nur der Windows-Domäne-Benutzer mit dem Namen Stephen (in der Redmond-domain) aufrufen können und die StephenSecrets () - Aktion."
Haben wir ein paar apps, die Notwendigkeit, dies zu tun genau das, was. Oft sind unsere apps sind gesperrt im web.config:
Haben Sie jedoch deaktivieren der Windows-Authentifizierung für die API-Controller. Sie können dies durch Bearbeiten der
applicationHost.config
- Datei auf dem IIS-server und das hinzufügen:Diesem PowerShell-Skript wird es für Sie tun:
ja, Sie können behandeln Sie diese mit AuthorizeAttribute
Also zum Beispiel in ein einfaches Konto-controller Sie möchten, dass nur autorisierte Benutzer Zugriff auf die Aktion
ChangePassword