我使用 asp.net c# mvc 框架。我需要一种方法来为除管理员以外的所有用户“关闭”我的网络应用程序(即,对于除管理员以外的所有角色,所有页面都应返回类似“应用程序已关闭”的内容)。
我已经创建了一个按钮,以便将网络应用程序的状态(开/关)保存在数据库中。
我是否必须在每个页面上检查申请的状态? 除了一个角色之外,是否可以进行全局重定向?
我不知道如何正确执行此全局关闭。欢迎提出任何建议。
最佳答案
我可以想到三种检查和重定向的方法
安
HttpModule
挂接到适当的授权后事件。大概PostAuthorizeRequest
的HttpApplication
.在您的“全局”(
Global.aspx.cs
) 中订阅相同的事件。MVC Action 过滤器,覆盖
OnActionExecuting
. (确保将其设为全局,以避免需要应用到每个 Controller :添加到Application_Start
中的GlobalFilters.Filters
。)
这 3 个是 MVC 的一部分,但在管道中要晚得多(将完成更多工作,当过滤器失败时将被丢弃)。
模块的使用由配置控制,这样更容易打开和关闭。
选项 2 可能最容易实现,但我倾向于更喜欢 1 提供的模块化。
关于c# - 如何重定向我的 mvc asp.net web 应用程序中除一个角色之外的所有页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25115145/