1.Spring Security的简介
Spring Security是基于javaEE的安全服务,支持使用spring框架构建的项目。提供了可以在Spring应用上下文中配置的Bean。充分利用了spring的IOC,DI和AOP切面编程功能,主要提供安全访问的控制功能。
2.Spring Security的流程图
Spring Security主要是做两件事情,一个是认证一个是授权
3.Spring Security的实现方式一
3.1我们使用maven创建工程,所以先添加spring security的依赖
[XML] 纯文本查看 复制代码 <dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
</dependency>
3.2添加配置文件
[XML] 纯文本查看 复制代码 <?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
[url]http://www.springframework.org/schema/beans/spring-beans.xsd[/url]
[url]http://www.springframework.org/schema/security[/url]
[url]http://www.springframework.org/schema/security/spring-security.xsd[/url]">
<!--配置页面拦截规则:配置放行的资源-->
<http pattern="/login.html" security="none"/>
<http pattern="/login_error.html" security="none"/>
<!-- use-expressions=”false” 不需要使用表达式方式来写权限-->
<http use-expressions="false">
<!--配置拥有ROLE_USER角色可以任意访问,pattern="/**"表示可以访问任意资源-->
<intercept-url pattern="/**" access="ROLE_USER"/>
<!--配置表单登录信息-->
<!--login-page:指定登录的页面,default-target-url:默认进入的页面,authentication-failure-url:登录失败的跳转的页面-->
<form-login login-page="/login.html" default-target-url="/index.html" authentication-failure-url="/login_error.html"/>
<!--禁言跨站请求伪造校验-->
<csrf disabled="true"/>
</http>
<!--认证管理器-->
<authentication-manager>
<authentication-provider>
<user-service>
<!--拥有角色的用户和密码-->
<user name="admin" password="123456" authorities="ROLE_USER"/>
</user-service>
</authentication-provider>
</authentication-manager>
</beans:beans>
3.3使用登录页面进行登录,页面如下
[HTML] 纯文本查看 复制代码 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>spring security</title>
</head>
<body>
<form action="/login" method="post">
用户名:<input name="username" type="text"><br>
密码:<input name="password" type="password"><br>
<button type="submit">登录</button>
</form>
</body>
</html>
这样可以实现简单登录,只有登录的用户名和密码都与配置里面的一致才能够登录成功。
|