Spring Security 3 (二

2023-01-31 05:01:04 security spring

   我们明白了为什么我们要使用SS3之后,那么你应该就有兴趣看这篇文章了。因为这篇文章才是真正带你入门的开始,本文我们用一个简单的示例来看看SS3给我们带来的好处。

   首先我们配置好spring以及springMVC,然我们的程序能够运行起来,这样体现出SS3的aop特性,即不影响我们原始代码的情况下增加权限功能。本文demo所使用的是Maven管理所需要的jar包。如果你没有使用maven或者使用其他构建工具时请自行配置。

1. pom.xml、spring、spring-mvc、hibernate配置,由于篇幅原因请参考附件源码。

2. Spring Security对web.xml的配置

wKioL1MBgRrQV9e7AADWuucmgLk401.jpg

同时我们要让我们的SpringSecurity的配置在启动时就生效,我们则需要她和Spring一样,在一开始加载就将我们配置的bean加载到我们的server内存中。所以此处是关键:

wKiom1MBgheieB-kAADqkb9s8TU949.jpg

    3.  对applicationContext-security.xml的配置

a. 引入SpringSecurity的命名空间以及必要的xsd

wKiom1MBgmCi2KyoAAFo6JK7V2o438.jpg

b. 配置资源过滤。我们并不希望我们的javascript, CSS, 图片等资源被SpringSecurity Filter拦截并检查权限,因为我们在配置SpringSecurity时,使用的是拦截所有请求,因此我们要让SpringSecurity的过滤不检查这些资源的权限。

wKioL1MBgpDBs8a7AADfmGFm5is634.jpg

c. 配置我们拦截到的请求URL。

wKioL1MBguiBCmTeAANy_SdiT4Q855.jpg

   d. 配置验证管理。(注:此示例中暂时不使用数据库存放用户信息,后面会一步一步的改动,让大家更加清楚如何能达到自由使用SS3)

wKioL1MBg_7wkhhgAACs5MuWZgI912.jpg

4. 配置我们的访问页面。

  a. 自定义的登录页面

wKiom1MBhDLzK9AZAAGXj4vaoBg084.jpg

    b. 测试。当我们去访问URL中包含了/user/的资源时,SS3就会拦截我们的请求,然后跳转到login页面,让我们登录。当前使用配置在applicationContext-security.xml中的用户名和密码来进行登录即可。


下一章内容提要:

使用数据库存放用户信息、权限信息。结合SS3进行验证。请参考当前配置的示例,示例中已集成hibernate。





相关文章