【发布时间】:2018-08-31 03:55:21
【问题描述】:
我在 Spring MVC 应用程序中创建了 CustomAccessDeneiedHandler 类,该应用程序实现了 AccessDeniedHandler 接口,如下所示。
public class CustomAccessDeniedHandler implements AccessDeniedHandler {
@Override
public void handle(HttpServletRequest request, HttpServletResponse response, AccessDeniedException exc) throws IOException, ServletException {
response.sendRedirect(request.getContextPath() + "/accessDenied");
}
}
这将使用"/accessDenied" URI 调用控制器GET 方法,该方法在内部返回特定于访问被拒绝错误的JSP 视图。
但是,我不想重定向到单独的视图,而是想在同一页面上显示一条警告消息,上面写着“您无权执行此任务”。
是否有任何解决方法可以让我们将响应发送回请求页面的来源并在该页面上显示错误消息? 我尝试了许多不同的方法,但似乎没有什么对我有用,因为我尝试的每个解决方案都在调用控制器方法并且正在重定向/重新呈现相同或不同的视图。
所以我还没有找到任何标准的解决方案来解决这个问题。任何帮助表示赞赏。
【问题讨论】:
标签: spring jsp spring-mvc spring-security