Spring Security tutorial 学习一

本文通过一个简单的Web项目示例,介绍了如何使用SpringSecurity保护特定页面的访问。包括添加所需jar包、配置web.xml和applicationContext-security.xml等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring Security 提供了一个tutorial例子,刚开始看的时候感觉没有头绪,通过看Reference和视频现在有一些进展了,我现在通过一些小例子把tutorial里面的东西一点一点加进去。

 

先新建一个Web项目,里面只有两个jsp页面,index.jsp和admin.jsp。index.jsp有一个链接指向admin.jsp页面,代码如下。

  

 下面我们用 Spring Security 来保护对admin页面的访问。

 

 1.为项目添加 Spring Security 需要的jar包。为了方便,我直接从tutorial里面复制过来了。

 

 2.配置web.xml。

   

context-param用来指定Spring Security配置文件的位置; 

filter用来启动Spring Security的过滤器链;

listener用来启动Spring容器;  

 

3.配置applicationContext-security.xml。

   

 

 

我们通过intercept-url 来判断用户需要什么权限才能访问对应的url资源。第一个用来控制对admin.jsp页面的访问,第二个使用了通配符,用来控制对系统所有资源的访问。

通过pattern匹配时,Spring Security采用就近原则。例如我们访问admin.jsp页面时,两个intercept-url 都满足,但因为pattern="/admin/**" 排在上面,所有Spring Security会采用这个来处理对admin.jsp页面的访问,也就是只有拥有ROLE_ADMIN权限的用户才可以访问。

 

OK,完成了。现在我们通过index.jsp的链接访问admin.jsp页面时会弹出一个login页面(这个页面是Spring Security默认提供的,如果不喜欢可以用自己的login页面来替换它),要求输入用户名和密码。我们输入rod/rod,可以访问admin.jsp。如果输入peter/peter会提示拒绝访问,因为peter不是管理员。如果我们登录时选中remember me,登录成功后关闭浏览器,再打开浏览器通过index.jsp访问admin.jsp时就不会弹出登录页面了,可以直接访问到admin.jsp。Spring Security通过cookie找到了用户名和密码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值