簡體   English   中英

如何在請求到達控制器之前驗證URL

[英]How can I validate a URL before the request gets to the controller

我們的服務使用ASP.NET Core,在應用程序管道中,我們有幾種中間件,這些中間件在StartUp.cs Configure(IApplicationBuilder app)方法中進行Configure(IApplicationBuilder app)

通過這種方法添加中間件: app.UseMiddleware<Type>();

我想驗證HttpContext.Request.Path並確保它可以命中控制器之一。 如何在中間件代碼中獲取可用路由列表(控制器路徑),或者還有一種更簡單的方法來查看此特定請求路徑是否會碰到已注冊的控制器之一? 我們使用了xxxxcontroller : ControllerBase[Route("controller/{version}/{id}]屬性來注冊控制器。

非常感謝。

我建議您看一下Asp.net核心身份,如果我了解您要查找的內容,則需要使用角色來保證對某些路由的訪問。

我不知道如何獲取所有路由的列表並檢查路徑是否為有效路由,但是您可以在MVC運行后使用中間件來檢查響應狀態代碼,並且如果狀態代碼是404,那么您知道它不是不是有效的路線,您可以相應地進行處理。

UseStatusCodePagesWithReExecute擴展方法基本上使用此方法不僅處理404錯誤,還處理所有錯誤狀態代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM