Ich probiere das folgende Szenario in ASP.NET MVC aus. Ich möchte eine einfache MVC-Anwendung erstellen, wo ich einen benutzerdefinierten IAuthorizationFilter erstellen möchte, der nur eine SQL-Anweisung ausführen sollte, um zu überprüfen, ob ein Benutzer existiert. Wenn der Benutzer existiert, dann gehen Sie weiter, andernfalls auf eine andere Ansicht umleiten.So verwenden Sie ordnungsgemäß IAuthorizationFilter in einer MVS-Lösung, um eine Berechtigung zu überprüfen und umzuleiten
ich eine neue Klasse für die benutzerdefinierten Filter erstellt:
public class CustomAuthorizationAttribute : FilterAttribute, IAuthorizationFilter
{
public void OnAuthorization(AuthorizationContext filterContext)
{
filterContext.Controller.ViewBag.AutherizationMessage = "Custom Authorization: Message from OnAuthorization method.";
}
}
In der Aktion, wo ich für den Benutzer i hinzugefügt, um die Filter überprüfen wollte:
[CustomAuthorizationAttribute]
public ActionResult Index()
{
ViewBag.Title = "Home Page";
return View();
}
In der Ansicht hinzugefügt i der Ausgangswert:
Im Allgemeinen, wenn ich die Lösung durchführe und die Aktion ausführe, empfange ich t Die Nachricht auf der Website wie erwartet.
Aber ich weiß, ich ein reales Welt-Szenario, wie und wo die Prüfung implementieren und wie auf Nicht autorisiert umleiten?