爪哇2博客
爪哇2博客

春季安全:定制403访问被拒绝页面

在这篇文章中,我们将看到如何自定义403访问被拒绝页面。
如果用户无权访问页面,则将显示默认的403页面,如下所示:

春季安全 403访问被拒绝

您可以如下页面自定义403:

春季安全 403定制页面

如果要配置自定义403访问被拒绝页面,可以通过两种方法进行。

  • 使用访问被拒绝的处理程序错误页面
  • 使用AccessDeniedHandler 参考

使用访问被拒绝的处理程序错误页面

您可以按如下所示在spring-security.xml中放置属性access-denied-handler的条目。

1
2
3
4
5
6
 
<http 汽车-配置=“真正” 利用-表达=“真正”>
  <访问-被拒绝-处理程序 错误-="/403" />
... 其他 参赛作品
</http>
 

因此,如果用户无权访问页面,它将被重定向到/ 403,您可以在控制器类中处理403,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
//用于403访问被拒绝的页面
  @请求映射( = "/403", 方法 = 请求方法.得到)
  上市 模型和视图 拒绝访问(主要 用户) {
 
   模型和视图 模型 = 模型和视图();
   如果 (用户 != 空值) {
    模型.addObject(“味精”, “嗨” + 用户.getName()
    + “,您无法访问此页面!”);
   } 其他 {
    模型.addObject(“味精”,
    “您无法访问此页面!”);
   }
 
   模型.setViewName("403");
   返回 模型;
  }
 

我们可以如下创建403.jsp:

1
2
3
4
5
6
7
8
9
10
11
 
<%@ 标签库 字首=“C” 乌里="http://java.sun.com/jsp/jstl/core"%>  
<html>
<身体>
<h1>HTTP 状态 403 - 访问 被拒绝</h1>
<h2>${味精}</h2>
<c:网址 =“ / j_spring_security_logout” 变种=“ logoutUrl” />
<a href=“ $ {logoutUrl}”>日志记录 </a>
</身体>
</html>
 

请参阅 弹簧安全数据库认证 用于spring-security.xml和其他文件。
使用AccessDeniedHandler参考:
您还可以使用AccessDeniedHandler处理403访问被拒绝的页面。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
组织.Arpit.爪哇2blog.处理程序;
 
进口 爪哇.io.IOException;
进口 爪哇x.小服务程序.ServletException;
进口 爪哇x.小服务程序.http.HttpServletRequest;
进口 爪哇x.小服务程序.http.HttpServletResponse;
进口 组织.弹簧框架.安全.访问.访问DeniedException;
进口 组织.弹簧框架.安全.网路.访问.访问DeniedHandler;
 
上市 CustomAccessDeniedHandler 实施 访问DeniedHandler {
 
私人的 错误Page;
 
上市 CustomAccessDeniedHandler() {
}
 
上市 CustomAccessDeniedHandler( 错误Page) {
  这个.错误Page = 错误Page;
}
 
上市 getErrorPage() {
  返回 错误Page;
}
 
上市 虚空 setErrorPage( 错误Page) {
  这个.错误Page = 错误Page;
}
 
@覆写
上市 虚空 处理(HttpServletRequest 请求, HttpServletResponse 响应,
  访问DeniedException 访问DeniedException)
                抛出 IOException, ServletException {
 
  //您可以重定向到错误页面
  响应.sendRedirect(错误Page);
}
}
 

您需要在spring-security.xml的http标记中添加ref。

1
2
3
4
5
6
7
8
9
 
<http 汽车-配置=“真正” 利用-表达=“真正”>
  <访问-被拒绝-处理程序 参考=custom403 />
</http>
<豆子:ID =“ custom403”
=“ 组织.arpit.java2blog.handler.CustomAccessDeniedHandler”>
<豆子:属性 名称=“ 错误Page” ="403" />
... 其他 参赛作品
 

下载源代码:

点击开始
20KB .zip

导入联系人

您可能还喜欢:

分享这个

作者

关注作者

相关文章

  • 10 May

    春季靴 + 春季安全示例

    在这篇文章中,我们将看到如何创建Spring Boot + 春季安全示例。让’我们将看到Spring Boot如何使生活变得更简单。我将在Spring Boot hello world示例中应用Spring Security。 Github源代码:下载Spring Boot + 春季安全示例:以下是创建Spring Boot + […]

  • 9月14日

    弹簧 休息+春季安全示例

    在本文中,我们将在Spring Rest示例中应用Spring Security。 Web服务教程:Web服务介绍Web服务访谈问题SOAP Web服务介绍RESTful Web服务介绍SOAP和REST Web服务之间的区别使用Eclipse的Java中的SOAP Web服务示例JAX-WS Web服务Eclipse教程JAX-WS […]

  • 9月12日

    春季安全数据库认证示例

    在上一篇文章中,我们已经看到了如何在Spring Security中使用自定义登录页面。我们已经在spring-security.xml中声明了用户名和密码,但是如果您想从数据库中读取它,该怎么办。在大多数情况下,我们将从数据库中读取凭据。在本文中,我们将使用数据库进行身份验证。我们[…]

  • 1月15日

    春季安全自定义登录表单示例

    在上一篇文章中,我们使用了Spring安全框架生成的默认登录页面。在这篇文章中,我们将看到如何在Spring安全性中使用自定义登录页面。 春季MVC教程:Spring MVC你好世界示例Spring MVC休眠MySQL示例Spring MVC拦截器示例Spring MVC angularjs示例Spring MVC @RequestMapping示例Spring Component,Service,[…]

  • 1月12日

    春季安全你好世界示例

    在这篇文章中,我们将看到如何将基本的spring安全性应用于spring mvc hello world示例。 春季MVC教程:Spring MVC hello世界示例Spring MVC休眠MySQL示例Spring MVC拦截器示例Spring MVC angularjs示例Spring MVC @RequestMapping示例Spring Component,Service,Repository和Controller示例Spring MVC @ModelAttribute注释示例Spring […]

发表评论 取消回复

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。


成为朋友

©2020 爪哇2博客