gpt4 book ai didi

asp.net - 如何在 ASP.NET MVC 中设置整个区域的授权?

转载 作者:行者123 更新时间:2023-12-02 09:13:18 30 4
gpt4 key购买 nike

我有一个管理区域,我希望只有管理员才能进入该区域。我考虑向管理区域中的每个 Controller 添加授权属性。是否有一个优雅的解决方案或者框架本身不存在此功能?

编辑:抱歉,我应该之前提到这一点。我正在使用从 AuthorizeAttribute 派生的自定义 AuthorizedAttribute。

最佳答案

基于 Web.config 的安全性几乎永远应该用在 MVC 应用程序中。原因是多个 URL 可能会访问一个 Controller ,而将这些检查放在 Web.config 中总是会遗漏一些内容。请记住 - Controller 与区域无关,路线与区域相关联。如果不存在冲突,MVC Controller 工厂将很乐意为 Areas/文件夹中的 Controller 提供非区域请求服务。

例如,使用默认的项目结构,添加带有 AdminDefaultController 的管理区域,您可以通过/Admin/AdminDefault/Index /AdminDefault/Index 访问此 Controller 。

唯一受支持的解决方案是将属性放在 Controller 基类上,并确保区域内的每个 Controller 都是该基类的子类。

关于asp.net - 如何在 ASP.NET MVC 中设置整个区域的授权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2319157/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com