web 安全之 Spring Security 入门教程
Spring Security对于 web 安全的控制 , 以前接触使用过 Shiro 。
刚好最近在学习整理 Spring 相关的技术 , 就学习一下 Spring Security 。
是什么?Spring Security是一个框架 , 致力于为Java应用程序提供身份验证和授权 。
像所有Spring项目一样 , Spring Security的真正强大之处在于可以轻松扩展以满足自定义要求 。
文章插图
Hello World看了下官方的文档 5.0.0.RELEASE doc ,案例依赖于 gradle , 一直以来使用的是 maven 。
就直接按照 Spring Security入门程序示例 作为入门 。
测试环境$ java -versionjava version "1.8.0_91"Java(TM) SE Runtime Environment (build 1.8.0_91-b14)Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)$ mvn -vApache Maven 3.3.9
项目结构完整代码地址 , 如有帮助不妨给个 Star 。
├── pom.xml└── src├── main│├── java││└── com││└── ryo││└── spring││└── security││└── hello││└── controller││└── HelloWorldController.java│├── resources││├── application-mvc.xml││├── application-security.xml││└── application.xml│└── webapp│└── WEB-INF│├── pages││├── admin.jsp││└── hello.jsp│└── web.xml
文件内容
- pom.xml
spring-securitycom.ryo 1.0-SNAPSHOT 4.0.0 spring-security-hellowario.spring.platform platform-bom2.0.8.RELEASE pomimportorg.springframework spring-coreorg.springframework spring-weborg.springframework spring-webmvcorg.springframework.security spring-security-coreorg.springframework.security spring-security-weborg.springframework.security spring-security-configjavax.servlet jstlorg.apache.tomcat.maven tomcat7-maven-plugin2.2 8080/UTF-8
- admin.jsp--tt-darkmode-color: #EF7060;">application-mvc.xml 和 application-security.xml
- application-mvc.xml
- application-security.xml
- HelloWorldController.java
package com.ryo.spring.security.hello.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.servlet.ModelAndView;@Controller@RequestMapping("/")public class HelloWorldController {/*** 返回 hello 视图* @return*/@RequestMapping(value = http://kandian.youth.cn/index/{"/", "/welcome**" }, method = RequestMethod.GET)public ModelAndView welcomePage() {ModelAndView model = new ModelAndView();model.addObject("title", "Spring Security Hello World");model.addObject("message", "This is welcome page!");model.setViewName("hello");return model;}/*** 返回 admin 视图* @return*/@RequestMapping(value = "http://kandian.youth.cn/admin**", method = RequestMethod.GET)public ModelAndView adminPage() {ModelAndView model = new ModelAndView();model.addObject("title", "Spring Security Hello World");model.addObject("message", "This is protected page!");model.setViewName("admin");return model;}}
运行访问直接运行 插件 tomcat7:run 启动服务 , 或者手动部署到 tomcat , 此处不再赘述 。
- 纠结|硬杠红米Note9Pro?iQOO Z1跌至1575,对比之后纠结了!
- 王兴称美团优选目前重点是建设核心能力;苏宁旗下云网万店融资60亿元;阿里小米拟增资居然之家|8点1氪 | 美团
- 长安|长安傍上华为这个大腿,市值暴涨500亿!可见华为影响力之大?
- 巅峰|realme巅峰之作:120Hz+陶瓷机身+5000mAh 做到了颜值与性能并存
- 蛋壳公寓|官媒发声:绝不能让“割韭菜者”一跑了之!
- 看过明年的iPhone之后,现在下手的都哭了
- 直播销售员|石家庄桥西区插上“互联网+”智慧发展之翼
- 精英|业务流程图怎么绘制?销售精英的经验之谈
- V2X|V2X:确保未来道路交通数据交换的安全性
- 砍单|iPhone12之后,拼多多又将iPhone12Pro拉下水