spring security 学习笔记

    作用:spring security为企业级应用提供声明式安全访问和权限控制解决方案的框架。提供了一组可以在Spring应用上下文中配置的Bean,减少了为企业系统安全控制编写大量重复代码的工作。


<img src=''/>


一。初级:简单的登陆验证,账号和密码直接配置在xml文件中

在pom.xml中添加:

<dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-core</artifactId>
      <version>4.0.3.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-web</artifactId>
      <version>4.0.3.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-config</artifactId>
      <version>4.0.3.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-taglibs</artifactId>
      <version>4.0.3.RELEASE</version>
    </dependency>

在web.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>
     spring security框架是完全基于servlet过滤器的,没有在内部使用servlet和其它任何基于servlet的框架(e.g. springmvc),所以与任何其它web技术都没有强行关联。它只管处理HttpServletRequest 和HttpServletResponse,不关心请求时来自浏览器,web服务客户端,还是一个AJAX应用。

     spring security 维护了一个过滤器链,每个过滤器都拥护各自的功能,相应服务可以增加或删除。使用命令空间配置时,相应的spring bean会自动配置,但有时候会自定义类,以实现特别的功能。

    当你使用servlet过滤器时,需要在web.xml中声明。在spring security,要使用过滤器,通常需要定义过滤器DelegatingFilterProxy,这个过滤器里没有实现过滤器的任何逻辑,只是代理filter方法,application context里获得bean这让bean可以获得spring web application context的生命周期支持,使配置较为轻便。这个DelegatingFilterProxy实际可以看做一个servlet过滤链,其中的每个过滤器可以在application context中配置。


接下来在application context中配置:

<beans:beans xmlns="http://www.springframework.org/schema/security"
             xmlns:beans="http://www.springframework.org/schema/beans"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://www.springframework.org/schema/beans
		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		http://www.springframework.org/schema/security
		http://www.springframework.org/schema/security/spring-security.xsd">
    <!--登录页面不过滤 -->
    <http pattern="/login.jsp*" security="none" />


    <http use-expressions="false" auto-config="true">
        <intercept-url pattern="/**" access="ROLE_USER" />
        <form-login login-page='/login.jsp'/>
        <csrf disabled="true"/>
    </http>

    <authentication-manager>
        <authentication-provider>
            <user-service>
                <user name="user" password="111" authorities="ROLE_USER" />
            </user-service>
        </authentication-provider>
    </authentication-manager>
</beans:beans>
参考: http://www.tianshouzhi.com/api/tutorials/spring_security_4/272

...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值