SpringSecurity之java配置

     大多spring的那套东西,都支持注解和xml两种方式进行配置,而xml配置则通常比较麻烦,需要记住一大堆标签,通常提示也不是很到位,用xml配置需要我们对整个过程和各种标签都十分的熟悉,而这对于初学者通常都是比较难的一件事情,意味着学习时间需要更多。所以大多在项目中简单快捷的方式就是使用注解或者java类进行配置,更容易上手,springSecurity也提供了Java类配置的方式。

    首先,在web.xml中配置一个过滤器,拦截url再交给spring来进行管理。

   

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

然后来个Java类来配置

package com.ezhiyang.springSecurity;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@EnableWebSecurity
@Configuration
public class SpringSecurityConfig extends WebSecurityConfigurerAdapter{

    @Autowired
    public void configGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication().withUser("user").password("password").roles("USER")
                .and().withUser("admin").password("admin").roles("ADMIN");
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .anyRequest().authenticated()
                .and()
                .formLogin()
                .and()
                .httpBasic();
    }

}

这样就可以了,对SpringSecurity熟悉的可能就知道,我这样配置,其实和下面的xml配置其实是一样的,

-<http auto-config="true">

<intercept-url pattern="/user.jsp" access="ROLE_USER,ROLE_ADMIN"/>

<intercept-url pattern="/admin.jsp" access="ROLE_ADMIN"/>

<form-login/>

</http>
就是这样,就可以完成了java类来配置springSecurity的简单示例。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值