And*_*bel 5 asp.net httpmodule asp.net-mvc-4
我有一个自定义HttpModule用于身份验证.在模块的AuthenticateRequest事件处理程序中,我检查自定义SSO票证是否可用,并在这种情况下执行一些身份验证逻辑.
如果SSO票证可用但不正确,我想向用户显示友好的错误消息.我希望能够以某种方式设置HTTP状态401(未授权,在身份验证失败时使用)并从http模块传递有意义的错误消息.
然后,我希望MVC应用程序以某种方式获取此信息,并使用它来呈现自定义401错误页面,其中包含来自模块的有意义的错误消息.
什么是在http模块中引发错误的最佳方法,以及使用MVC应用程序显示错误的最佳方法是什么(在MVC应用程序的布局中获取错误消息)?
您可以创建一个自定义控制器工厂,并在您的:
protected override IController GetControllerInstance(RequestContext context, Type controllerType)
Run Code Online (Sandbox Code Playgroud)
您将可以通过上下文对象访问 HttpContext 和 RouteData。如果用户未经过身份验证,您可以操作您的路由数据,以使用所需的路由约束/参数(例如 http 状态消息)来定位所需的控制器/操作
| 归档时间: |
|
| 查看次数: |
249 次 |
| 最近记录: |