首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以从BasicAuth实现Header授权吗?

可以从BasicAuth实现Header授权吗?
EN

Stack Overflow用户
提问于 2018-06-03 22:13:15
回答 1查看 41关注 0票数 1

我是spring的新手,我使用this tutorial实现了BasicAuth。有没有办法可以轻松地实现authorization header而不是BasicAuth?配置SecurityConfig就足够了吗?我正在构建一个web服务。这是我的SecurityConfig,如果有帮助的话

代码语言:javascript
复制
package com.example.infobip.config;

import com.example.infobip.IUrlService;
import com.example.infobip.repositories.UsersRepository;
import com.example.infobip.service.CustomUserDetailsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
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;
import org.springframework.security.crypto.password.PasswordEncoder;

@EnableWebSecurity
@EnableJpaRepositories(basePackageClasses = UsersRepository.class)
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Autowired
    private CustomUserDetailsService userDetailsService;
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(userDetailsService).passwordEncoder(new PasswordEncoder() {
            @Override
            public String encode(CharSequence charSequence) {
                return charSequence.toString();
            }

            @Override
            public boolean matches(CharSequence charSequence, String s) {
                return true;
            }
        });
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().disable();
                http.authorizeRequests()
                .antMatchers("/statistic/**", "/register").authenticated()
                .anyRequest().permitAll()
                .and()
                .formLogin()
                .permitAll()
                .and()
                .logout()
                .permitAll();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2018-06-05 16:31:15

我终于成功了!我应该在http.csrf().disable()之后添加.httpBasicAuth()。此外,this tutorial也提供了很多帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50667306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档