gpt4 book ai didi

asp.net - 将错误从 HttpModule 传递到 MVC 应用程序

转载 作者:行者123 更新时间:2023-12-04 20:48:42 24 4
gpt4 key购买 nike

我有一个用于身份验证的自定义 HttpModule。在模块的 AuthenticateRequest 事件处理程序中,我检查自定义 SSO 票证是否可用,在这种情况下执行一些身份验证逻辑。

如果 SSO 票证可用,但不正确,我想向用户显示一条友好的错误消息。我希望能够以某种方式设置 HTTP 状态 401(未经授权,在身份验证失败时使用)并从 http 模块传递有意义的错误消息。

然后,我希望 MVC 应用程序以某种方式获取此信息并使用它来呈现自定义 401 错误页面,其中包括来自模块的有意义的错误消息。

在 http 模块中引发错误的最佳方法是什么,以及使用 MVC 应用程序显示错误的最佳方法是什么(在 MVC 应用程序的布局中获取错误消息)?

最佳答案

您可以创建一个自定义 Controller 工厂,并在您的:

protected override IController GetControllerInstance(RequestContext context, Type controllerType)

您将可以通过上下文对象访问 HttpContext 和 RouteData。
如果用户未通过身份验证,您可以操作您的路由数据以使用所需的路由约束/参数(例如 http 状态消息)来定位您所需的 Controller /操作

关于asp.net - 将错误从 HttpModule 传递到 MVC 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18320372/

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