博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringSecurity入门例子及遇到的问题解决
阅读量:5140 次
发布时间:2019-06-13

本文共 4227 字,大约阅读时间需要 14 分钟。

最近学习《Spring 实战》学习到了SpringSecurity,觉得书本上的例子过于复杂,而且不喜欢它基于java配置,更喜欢用xml文件进行配置

于是在极客学院网上学习,感觉挺不错的,由浅入深,推荐,附上网址:http://wiki.jikexueyuan.com/project/spring-security/first-experience.html

 

我的例子是看上面了,自己在进行了简单的配置。

我的项目是基于maven的,所以添加依赖成为了关键

spring security需要spring-security-config,spring-security-web即可,肯能是例子过于简单,并没有用到spring security的另外两个常用jar包spring-security-taglibs和spring-security-core

另外,还需要加入commons-logging,这是spring需要的jar包,否则将会报错:错误如下

 At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
 
具体的pom.xml文件如下:
1 
3
4.0.0
4
SpringSecurity
5
SpringSecurity
6
war
7
1.0-SNAPSHOT
8
SpringSecurity Maven Webapp
9
http://maven.apache.org
10 11
12
13
14
15
src/main/java
16
17
18
src/main/resources
19
20
**/*.xml
21
**/*.properties
22
23
24
25
26 27
28 29
30
org.springframework.security
31
spring-security-web
32
3.1.0.RELEASE
33
34 35
36
org.springframework.security
37
spring-security-config
38
3.1.0.RELEASE
39
40 41 42
43
commons-logging
44
commons-logging
45
1.1.1
46
47 48
49
javax.servlet
50
servlet-api
51
2.5
52
53 54
55
junit
56
junit
57
4.12
58
test
59
60 61 62
63 64

 

  

更重要的还有spring security的配置文件和web.xml

先讲web.xml

spring配置文件需要加载spring security的配置文件,一般是在web.xml中指定它为spring的初始配置文件,通过<context-param/>元素

还需要定义filter用来拦截需要给spring security处理的请求,注意,该filter一定要定义在其他拦截器之前

<listener>用来加载spring的配置文件

完整的web.xml代码如下:

1 
2
6
7
contextConfigLocation
8
classpath:spring-security.xml
9
10 11
12
springSecurityFilterChain
13
org.springframework.web.filter.DelegatingFilterProxy
14
15
16
springSecurityFilterChain
17
/*
18
19 20
21
org.springframework.web.context.ContextLoaderListener
22
23
在讲一下spring-security.xml配置文件 spring-security配置文件需要配置两样东西 1)配置权限控制的规则 里面的元素简介 security:是用命名空间的一个前缀 intercept-ref:定义权限控制的柜子 pattern:表示对哪些url进行权限控制 access:表示在请求对应url时需要什么权限 role前缀:提示spring是用基于角色的检查的标记 2)配置认证 user-service用于获取用户信息 里面配置一些登陆的用户密码和用户名 具体的spring-security配置文件如下
1 
8
9
10
11 12
13
14
15
16
17
18
19
20 21
 

当指定 http 元素的 auto-config=”true” 时,就相当于如下内容的简写:

1  
2
3
4
5

<security:form-login/>的优先级高于<security:http-basic/>,所以两者都存在时会采用<security:form-login/>

<security:http-basic/>是弹窗效果的表单验证

 

转载于:https://www.cnblogs.com/Hdaydayup/p/6805425.html

你可能感兴趣的文章
nginx --rhel6.5
查看>>
Eclipse Python插件 PyDev
查看>>
selenium+python3模拟键盘实现粘贴、复制
查看>>
网站搭建(一)
查看>>
Spring JDBCTemplate
查看>>
Radon变换——MATLAB
查看>>
Iroha and a Grid AtCoder - 1974(思维水题)
查看>>
gzip
查看>>
转负二进制(个人模版)
查看>>
LintCode-Backpack
查看>>
查询数据库锁
查看>>
[LeetCode] Palindrome Number
查看>>
我对于脚本程序的理解——百度轻应用有感
查看>>
SQL更新某列包含XX的所有值
查看>>
网易味央第二座猪场落户江西 面积超过3300亩
查看>>
面试时被问到的问题
查看>>
spring 事务管理
查看>>
VS2008 去掉msvcr90的依赖
查看>>
当前记录已被另一个用户锁定
查看>>
Node.js 连接 MySQL
查看>>