我们可以使用吗? web.config 中的标记引用 MVC 应用程序中的控制器

发布于 2024-10-19 11:21:48 字数 302 浏览 1 评论 0原文

我们需要将对应用程序中某些 Web 端点的访问限制为一组特定的 IP 地址。

在传统的 Web 表单应用程序中,我们成功地使用了 << 的组合。地点>且< ip安全>我们的 web.config 中的标签来限制对我们的处理程序 (ashx) 的访问。同样的方法是否适用于端点是控制器/操作的 ASP.NET MVC 应用程序?我们第一次尝试仅在位置的“路径”属性中指定控制器名称,但没有成功。

另一种方法是在该控制器上使用 MVC 授权/过滤属性来获得正确的限制,但我们更愿意纯粹从 web.config 而不是在代码中控制它。

We have a requirement of restricting access to certain web endpoints in our application to a specific set of IP addresses.

In tradition web forms applications we have successfully used a combination of < location > and < ipSecurity > tags in our web.config to restrict access to our handlers (ashx). Will this same approach work for a ASP.NET MVC application where the end point is a controller/action instead. Our first attempt of just specifying the controller name in the location's "path" attribute didn't work.

The other approach is to use MVC Authorize/Filter attributes on that controller to get the right restriction in place but we would prefer to control this purely from our web.config rather than in code.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

明月松间行 2024-10-26 11:21:48

同样的方法是否适用于端点是控制器/操作的 ASP.NET MVC 应用程序?

也许是,也许不是。在 MVC 应用程序中使用此标记被认为是不好的做法。我建议实施自定义 [Authorize] 过滤器。当然,您仍然可以从 web.config 外部化并读取授权/未授权 IP 地址列表,以简化管理并避免在它们发生更改时重新编译应用程序。

Will this same approach work for a ASP.NET MVC application where the end point is a controller/action instead.

Maybe yes, maybe no. It's a considered bad practice to use this tag in an MVC application. I would recommend implementing a custom [Authorize] filter. Of course you could still externalize and read the list of authorized/unauthorized IP addresses from web.config to ease the administration and avoid you recompiling the application if they were to change.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文