春季安全你好世界示例
在这篇文章中,我们将看到如何将基本的Spring 安全应用于 春季MVC 您好 World示例。
春季MVC教程:
- 春季MVC你好世界示例
- 春季MVC休眠MySQL示例
- 春季MVC拦截器示例
- 春季MVC angularjs示例
- 春季MVC @RequestMapping示例
- 弹簧组件,服务,存储库和控制器示例
- 春季MVC @ModelAttribute注释示例
- 春季MVC @RestController注释示例
- 弹簧 MultiActionController示例
- 春季MVC模型图
- 春季MVC文件上传示例
- 春季休息ful 网页服务示例
- 春季休息ful 网页 Service JSON示例
- 春季休息ful 网页服务CRUD示例
- 春季安全 您好 World示例
- 春季安全扣
如果您想保护Spring 网页应用程序,则只需要配置一些文件即可使用Spring 安全使其实现。我们将在hello world示例中应用登录安全性。因此,当只有授权用户才能访问世界消息。
这是在Spring MVC 您好 World示例中应用基本Spring 安全的步骤。
步骤1:
创造 春季MVC 您好 World范例 名为SpringSecurityHelloWorldExample。它将创建基本的spring mvc应用程序。
第2步:
将春季安全性添加到pom.xml。您需要向pom添加以下依赖项。
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
<项目 XML文件ns="http://maven.apache.org/POM/4.0.0" XML文件ns:si="http://www.w3.org/2001/XMLSchema-instance" si:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.Arpit.爪哇2blog</groupId> <artifactId>弹簧SecurityHelloWorl示例</artifactId> <打包>战争</打包> <版>0.0.1-快照</版> <名称>弹簧SecurityHelloWorldExample 马文 网络应用</名称> <网址>http://maven.apache.org</url> <依存关系> <依赖> <groupId>unit</groupId> <artifactId>unit</artifactId> <版>3.8.1</版> <范围>测试</范围> </依赖> <依赖> <groupId>爪哇x.小服务程序</groupId> <artifactId>爪哇x.小服务程序-api</artifactId> <版>3.1.0</版> </依赖> <依赖> <groupId>组织.弹簧框架</groupId> <artifactId>弹簧-核心</artifactId> <版>${弹簧.版}</版> </依赖> <依赖> <groupId>组织.弹簧框架</groupId> <artifactId>弹簧-网路mvc</artifactId> <版>${弹簧.版}</版> </依赖> <!- 弹簧 安全 - > <依赖> <groupId>组织.弹簧框架.安全</groupId> <artifactId>弹簧-安全-核心</artifactId> <版>${安全.版}</版> </依赖> <依赖> <groupId>组织.弹簧框架.安全</groupId> <artifactId>弹簧-安全-网路</artifactId> <版>${安全.版}</版> </依赖> <依赖> <groupId>组织.弹簧框架.安全</groupId> <artifactId>弹簧-安全-配置</artifactId> <版>${安全.版}</版> </依赖> <依赖> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <版>1.2</版> <范围>提供</范围> </依赖> </依存关系> <建立> <finalName>弹簧SecurityHelloWorl示例</finalName> <外挂程式> <插入> <groupId>组织.阿帕奇.专家.外挂程式</groupId> <artifactId>专家-编译器-插入</artifactId> <版>3.1</版> <组态> <资源>${杰克.版}</资源> <目标>${杰克.版}</目标> </组态> </插入> </外挂程式> </建立> <属性> <弹簧.版>4.2.1。发布</弹簧.版> <安全.版>4.0.3发布</安全.版> <杰克.版>1.7</杰克.版> </属性> </项目> |
第三步:
修改 hello.jsp in /网页-INF / 夹
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<%@ 页 语言=“ 爪哇” 内容类型=“文本/ html; charset = UTF-8” 页Encoding=“ UTF-8”%> <%@ 标签库 字首=“C” 乌里="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html 上市 “-// W3C // DTD HTML 4.01 Transitional // EN” "http://www.w3.org/TR/html4/loose.dtd"> <html> <头> <元 http-当量=“内容类型” 内容=“文本/ html; charset = UTF-8”> <标题>您好</标题> </头> <身体> ${信息} <c:网址 值=“ / j_spring_security_logout” 变种=“ 登出Url” /> 日志记录 出 </身体> </html> |
步骤4:
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 |
<豆子:豆子 XML文件ns="http://www.springframework.org/schema/security" XML文件ns:豆子="http://www.springframework.org/schema/beans" XML文件ns:si="http://www.w3.org/2001/XMLSchema-instance" si:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-4.0.xsd"> <http 汽车-配置=“真正” 利用-表达=“真正”> <截距-网址 模式=“ /资源/ **” 访问=“ permitAll” /> <截距-网址 模式=“/您好*” 访问=“ hasRole('ROLE_ADMIN')” /> <登出 登出-成功-网址=“ /” 登出-网址=“ / j_spring_security_logout” /> <csrf 残障人士=“真正”/> </http> <认证方式-经理> <认证方式-提供者> <用户-服务> <用户 名称=“ 爪哇2blog” 密码=“ 爪哇123” 当局=“ ROLE_ADMIN” /> </用户-服务> </认证方式-提供者> </认证方式-经理> </豆子:豆子> |
拦截URL配置为哪种模式配置什么样的安全性。例如:如果http请求url有模式 /您好*(hello.jsp,helloworld.html),它将被访问到 ROLE_ADMIN 只要。
我们已在身份验证管理器中对用户名(java2blog)和密码(java123)进行了硬编码,因此如果用户为admin提供正确的凭据,则只有他才能访问helloworld.htm /。
我们这里没有配置任何登录页面,因此spring 安全将为我们生成一个登录页面。
步骤5: 我们需要更改web.xml以配置spring安全性。
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 40 41 42 43 |
<?XML文件 版="1.0" 编码方式=“ UTF-8”?> <网路-应用程式 XML文件ns:si="http://www.w3.org/2001/XMLSchema-instance" XML文件ns="http://java.sun.com/xml/ns/javaee" si:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 版="3.0"> <显示-名称>原型 已建立 网页 应用</显示-名称> <欢迎-文件-清单> <欢迎-文件>指数.jsp</欢迎-文件> </欢迎-文件-清单> <小服务程序> <小服务程序-名称>弹簧-调度员</小服务程序-名称> <小服务程序-类> 组织.弹簧框架.网路.小服务程序.分派器 </小服务程序-类> <加载-上-启动>1</加载-上-启动> </小服务程序> <小服务程序-映射> <小服务程序-名称>弹簧-调度员</小服务程序-名称> <网址-模式>/</网址-模式> </小服务程序-映射> <语境-参数> <参数-名称>语境ConfigLocation</参数-名称> <参数-值> /网页-INF/弹簧-调度员-小服务程序.XML文件, /网页-INF/弹簧-安全.XML文件 </参数-值> </语境-参数> <听众> <听众-类>组织.弹簧框架.网路.语境.ContextLoaderListener</听众-类> </听众> <!- 弹簧 安全 - > <过滤> <过滤-名称>弹簧SecurityFilterChain</过滤-名称> <过滤-类>组织.弹簧框架.网路.过滤.DelegatingFilterProxy</过滤-类> </过滤> <过滤-映射> <过滤-名称>弹簧SecurityFilterChain</过滤-名称> <网址-模式>/*</网址-模式> </过滤-映射> </网路-应用程式> |
运行应用程序
Right click 上 项目 -> run as -> run 上 server