一.使用流程案例

1.1 新建web项目,配置maven依赖

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

1.2 配置web.xml文件,在web.xml文件中配置SpringSecurity委派过滤器

<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>

1.3  在resource下配置Spring配置文件applicationContext-security.xml

1.3.1 配置拦截的请求URL

<!-- 配置哪些请求地址不需要拦截  security属性要设置为none,否则会反复重定向,报不能正确重定向的问题-->
<security:http pattern="/login.html" security="none"/>
<security:http pattern="/login_error.html" security="none"/>

<!--

<security-http use-expressions=”false”>:是否使用使用 Spring 表达式语言(SpEL),默认为true ,如果开启,则拦截的配置应该写成以下形式:

<security:intercept-url pattern="/**" access="hasRole('ROLE_USER')"/>

-->

<security:http use-expressions="false">
        <!-- 配置拦截的请求URL,通过什么角色或权限访问

    /*  表示的是该目录下的资源,只包括本级目录不包括下级目录

     /** 表示的是该目录以及该目录下所有级别子目录的资源

        -->
       
<security:intercept-url pattern="/**" access="ROLE_USER"/>

<!-- 配置开启表单登录
       login-page: 配置自己的登录页面
       authentication-success-forward-url: 认证成功需要跳转的URL
       authentication-failure-url: 认证失败需要跳转的URL
       password-parameter: 密码请求参数名称
       username-parameter: 用户名请求参数名称
    -->
   
<security:form-login login-page="/login.html"
              authentication-success-forward-url="/login_success.html"
              authentication-failure-url="/login_error.html"
              password-parameter="password"
              username-parameter="username"
/>
    <!-- 关闭跨站点请求伪造CSRF 对网站的恶意利用 -->
   
<security:csrf disabled="true"/>


        <!-- 配置开启表单登录 -->
       
<security:form-login/>
    </security:http>

1.3.2 配置认证管理器

<security:authentication-manager>
        <!-- 配置认证提供者 -->
       
<security:authentication-provider>
            <!-- 配置用户服务 -->
           
<security:user-service>
                <!-- 认证用户信息: 用户名、密码、角色或权限 -->
               
<security:user name="admin" password="123456"
                                  authorities="ROLE_USER"
/>
            </security:user-service>
        </security:authentication-provider>
    </security:authentication-manager>

 

posted on 2018-06-26 21:11  SuperTan  阅读(252)  评论(0编辑  收藏  举报