这部分,给大家介绍了如何配置配置文件,让我们的security可用
第二部分的时候介绍过.可参考Spring Security教程第二部分-工程里添加spring-security
首先打开applicationContext.xml(也可以单独写security.xml),添加如下的这段代码
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:security="http://www.springframework.org/schema/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd">注意
xmlns:security="http://www.springframework.org/schema/security"这句话就是把我们需要用的security的namespace设置为security,可能有人会好奇,这些东西是从哪找的?
第一个方法就是百度
至于第二种就是取下载的官方文档里面找啊,比如,我们进去spring-security的包,会发现有个samples,如下图所示
然后进入samples,随便选择一个XXXX-xml文件夹,然后打开,我这里打开的地址是
D:\soft\lib\spring-security-3.2.9.RELEASE\samples\spring-security-samples-openid-xml\src\main\webapp\WEB-INF会发现有两个xml文件,这就是我们需要配置的啦,如下图所示
打开applicationContext-security.xml
是不是就能找到啦,这方法真是百玩不腻啊,相信我,后面有很多文件的配置需要到这里或者官方文档去找的,自己度娘出来是绝对靠不住的,,.
<filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter> <!-- 拦截所有的请求 --> <filter-mapping> <filter-name>springSecurityFilterChain</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>别问我为啥这样配,,,,我也不知道,反正就是这样
在这个文件中先添加
<security:http auto-config="true"> <security:intercept-url pattern="/**" access="ROLE_USER" /> </security:http>这句话表明对于任意的资源,只能允许用户为ROLE_USER访问
此外,auto-config="true"是因为其实security在初始化的时候有很多步骤.....自己配很麻烦,尤其是还要卸载xml文件中
因此这个设置就省去了我们自己配的过程,一般也不需要我们自己配
对了,需要强调的是,security对用户身份的管理,必须要以ROLE_开头,这是规定
接下来,我们把用户配在哪呢?因为在这节中我还没有使用数据库,所以就存在配置文件里面啦
配置如下
<security:authentication-manager> <security:authentication-provider> <security:user-service> <security:user name="wulalala" password="123456" authorities="ROLE_USER" /> </security:user-service> </security:authentication-provider> </security:authentication-manager>这个配置就是配置了用户名为wulalala,密码为123456,用户角色为ROLE_USER的用户,如果有多条用户继续在里面添加即可
创建首页,index.jsp页面,运行工程,发现出现了登录页面,如下图所示
输入账号密码,点击login即可正常登录到首页,
到这里security基本配通了
可能有的人会好奇,这个登录页面是从哪里来的?这里推荐大家去看以为博主的博客,里面很好的介绍了一些spring security的源码分析
Dead_knight 的个人博客