【发布时间】:2021-06-01 10:39:35
【问题描述】:
我怎样才能限制某些路线不被使用。
在我的 startup.cs 中有两个 mapendpoint
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "botConfiguration",
pattern: "bot/{botID}/{controller=Home}/{action=Index}/{id?}");
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
在我的控制器中
public IActionResult Setting(int botID)
{
//botConfigRepository.GetAll();
return View();
}
我想说的是,如果我的路由中没有定义 botID,那么你就不能调用这个动作,否则它会重定向到某种主页。
现在我知道我可以做一个
if (botID == 0 ){
return RedirectToAction("Index");
}
某种意义上,但是为每个动作都写这个听起来有点痛苦。
【问题讨论】:
-
你试过用
ActionFilter吗? -
不,我没有尝试这个动作过滤器,我得研究一下
标签: c# asp.net-core routes