1.学习目标
2.springSecurity
2.1 SpringSecurity简介
2.1.1 安全框架概述
什么是安全框架?解决系统安全问题的框架,如果没有安全框架,我们需要手动处理每个资源的访问控制,非常麻烦。使用安全框架,我们可以通过配置的方式实现对资源的访问控制。
2.1.2 常用的安全框架
- SpringSecuriyt:Spring家族一员,是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean ,充分利用了Spring Ioc DI 和AOP 功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码工作
- Apache Shiro 一个功能强大且易于使用的Java安全框架,提供了认证,授权,加密和会话管理。
2.1.3 Spring Security 简介
概述
Spring Security 是一个高度自定义的安全框架。 利用 Spring Ioc/DI 和AOP功能,为系统提供了声明式安全访问控制功能,减少了为系统安全而编写大量重复代码的工作。Spring Securiyt 有两大核心功能,认证: 是建立一个声明的主体的过程(一个主体一般是指用户,设备或一些可以在你的应用程序中执行动作的其他系统),通俗点说就是系统认为用户是否能登录。授权:指确定一个主体是否允许在你的应用程序执行一个动作的过程。通俗点讲就是系统判断用户是否有权限去做某件事情。
快速入门
首先建两个html文件 一个是登录表单 一个是登录成功页面
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/login" method="post">
用户名:<input type="text" name="username" /> <br />
密码:<input type="password" name="password" /> <br/>
<input type="submit" value="登录" />
</form>
</body>
</html>
main.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
登录成功!
</body>
</html>
然后写后端代码:
@Controller
public class LoginController
{
/**
* 登录
* @return
*/
@RequestMapping("/loging")
public String login(){
return "redirect:main.html";
}
}
启动项目后,我们在浏览器地址栏中输入Localhost:8080/login.html会跳转到如下界面,显然不是我们自己写的登录表单,这是有因为spring security自带的登录页面, 默认登录有用户名是user 密码在程序控制台有输出,我们复制即可。
点击登录后,才跳转到我们自己写的login.html页面中