Gibt es eine einfache Möglichkeit, sicherzustellen, dass nur neu geschriebene URLs einen Controller aufrufen können?Verwendung von umgeschriebenen URLs im Vergleich zum direkten Controller-Aufruf
Wenn zum Beispiel eine URL www.somesite.com/about auf die Aktion "About" im Controller "Shared" zeigt, kann sichergestellt werden, dass alle Anfragen an www.somesite.com/shared/about enden an der umgeschriebenen URL, in diesem Fall www.somsite.com/about?
Mit anderen Worten, der Benutzer sollte nicht in der Lage sein, einfach/controller/action einzugeben, ohne auf die umgeschriebene URL umgeleitet zu werden.
Wir wollen jedoch nicht aktiv prüfen und umleiten, aber hatten auf eine eingebaute Funktion von MVC gehofft. Die einzigen Vorschläge, die ich in diesen Zeilen fand, waren ChildActionOnly und HttpPost Attribute, aber sie scheinen nicht die Antwort zu sein (normale Links funktionieren nicht).
Wie bereits erwähnt, wir suchen nach etwas einfach, mehr oder weniger eingebaut - wenn es nicht dann sollte es so sein, nicht vorhanden ist ...
Gute Antwort. Allerdings, wenn Sie diese Art von Sache viel tun, können Sie besser bedient werden, indem Sie stattdessen Attribut-Routing verwenden. Auf diese Weise passen Sie die Route für jede Aktion exakt so an, wie Sie es möchten. –
genau das, was wir uns erhofft hatten, danke! – devlock
@Chris Pratt: Wäre es nicht ein Problem, wenn mehrere neu geschriebene URLs dieselbe Controller-Aktion aufrufen (z. B. lokalisierte URLs)? – devlock