Spring Security 3 (二

发布时间:2019-09-10 09:14:46编辑:auto阅读(1548)

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

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

    1. pom.xmlspringspring-mvchibernate配置,由于篇幅原因请参考附件源码。

    2. Spring Securityweb.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。





关键字