Ich entwickle eine ASP.NET MVC 5-Website, die lokale STS für die Authentifizierung verwendet. Ich unterordnete das AuthorizeAttribute, um den Authentifizierungs-/Autorisierungsprozess anzupassen, MyAuthorizeAttribute zu GlobalFilters hinzugefügt. Wenn Benutzer ohne authentifiziert hereinkam, fing MyAuthorizeAttribute.OnAuthorize es erfolgreich und erstellt ein SignInRequest, um zu STS umzuleiten. Das ist was ich will. Ich beobachtete, dass, wenn Benutzer erfolgreich authentifiziert und STS Benutzer zurückgeleitet, der Browser des Benutzers einen SAML-Token im Anfragetext an meine MVC-Webanwendung POST, dies ist beabsichtigt, und ich erwartet MyAuthenticateAttribute könnte diese Anfrage abfangen, so dass ich das Token extrahieren kann Überprüfen und validieren Sie es aus dem Anforderungshauptteil, jedoch wurde die MyAuthenticateAttribute.OnAuthorize() - Funktion diesmal nicht aufgerufen, sondern direkt zum Controller. Also ist etwas falsch? Wo soll ich das Token, das vom Benutzer POSTed ist, fangen und behandeln? Vielen Dank.Werden alle eingehenden Anforderungen von AuthorizeAttribute in ASP.NET MVC behandelt?
Antwort
Sie müssen Ihre Aktionsmethode mit dem Attribut [Autorisieren] dekorieren oder wenn die Autorisierung für alle Aktionen in einem Controller erfolgen soll, dann legen Sie dieses Attribut auf dem Controller selbst fest.
Werfen Sie auch einen Blick auf die Verwendung von [AllowAnonymous] bei https://www.codeproject.com/Articles/1008731/Insight-of-ASP-NET-MVC-s-Authorize-Attribute
AuthorizeAttribute
ist sowohl ein Attribute
und ein IAuthorizationFilter
. Attributes
nicht wirklich tun alles, das MVC-Framework sucht nach, wo dieses Attribut hinzugefügt wird und registriert es als ein Filter im laufenden Betrieb.
jedoch eher als Controller oder Aktionsmethoden mit ihm dekorieren, können Sie es als globale Filter hinzufügen könnten:
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new AuthorizationAttribute());
filters.Add(new HandleErrorAttribute());
}
}
Aus dem gleichen Grunde können Sie Ihre eigene IAuthorizationFilter
oder Unterklasse AuthorizeAttribute
schaffen, was Sie zu tun wollen. Wenn es global registriert wird, wird es immer für alle Aktionen ausgeführt, und Sie können es dann verwenden, um Anfragen global zu autorisieren.
Ich habe vergessen zu erwähnen, dass ich MyAuthorizeAttribute zu GlobalFilters hinzugefügt habe. – codewarrior
- 1. ASP.Net MVC Security AuthorizeAttribute
- 2. Blockiert Application_Start alle eingehenden Anforderungen
- 3. verschachtelte Anforderungen in asp.net mvc
- 4. ASP.NET MVC 3 Anforderungen
- 5. Überschreiben von AuthorizeAttribute in MVC 4
- 6. ASP.NET MVC AuthorizeAttribute Übergabe von Werten an ActionMethod?
- 7. AuthorizeAttribute Adal Signout MVC
- 8. ASP.NET Access Controller-Eigenschaften von AuthorizeAttribute-Methode
- 9. asp.net mvc behandelt es alle Anfragen? - iis 7 integrierter Modus
- 10. Warum wird nur ein Controller für alle eingehenden Anforderungen in Java verwendet?
- 11. F: Wie werden alle eingehenden und ausgehenden E-Mails in Office365/Exchange online behandelt?
- 12. Wie alle Anforderungen in ComponentWillUnmount abgebrochen werden?
- 13. Werden Threads zwischen Anforderungen in ASP.Net wiederverwendet?
- 14. Warum werden HTTP-Anforderungen in der ASP.NET-Web-API verzögert?
- 15. Alle Anforderungen an ASP.NET-Web-API geben Fehler 404
- 16. Wie behandelt man die Mitgliedschaft in einer ASP.NET MVC-Anwendung?
- 17. alle Daten löschen von Datentabelle (ASP.NET MVC)
- 18. Wie Verwenden von Enum in AuthorizeAttribute der Rasierer-MVC?
- 19. ASP.NET MVC Benutzerdefinierte Autorisierung
- 20. Wie behandelt man allgemeine Ausnahmen in Asp.Net MVC?
- 21. Wie eingehende HTTP-Anforderungen auf Loopback behandelt werden
- 22. Kann RedirectToAction() in einer benutzerdefinierten AuthorizeAttribute-Klasse verwendet werden?
- 23. Lassen Sie alle eingehenden E-Mails in CRM verfolgt werden
- 24. ASP.NET-Anforderungen priorisieren
- 25. MVC 4 überschreiben AuthorizeAttribute funktioniert nicht
- 26. ASP.NET MVC Liste alle Benutzer
- 27. asp.net MVC5 - Dependency Injection und AuthorizeAttribute
- 28. Async-Aktionsfilter: Async & AuthorizeAttribute in der ASP.NET-Web-API
- 29. ASP.NET MVC Routing fangen alle
- 30. Wie behandelt ein einzelnes Servlet mehrere Anforderungen von der Clientseite
Vergessen zu erwähnen, dass ich MyAuthorizeAttribute GlobalFilters hinzugefügt habe. – codewarrior