Spring Boot安全休息

时间:2017-09-16 13:47:20

标签: rest security spring-boot

我知道有很多主题,但有没有办法修改普通的spring安全性来处理json对象。

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true) //za pre i post authorize v servisa
public class SpringSecurityConfig extends WebSecurityConfigurerAdapter
{
    //Koi service shte polzvame
    @Autowired
    private UserService userService;

    @Override
    protected void configure(HttpSecurity http) throws Exception
    {
        http.authorizeRequests()
                .antMatchers("/", "/user/register", "/css/**", "/js/**").permitAll()
                .antMatchers("/user/user").access("hasRole('USER') or hasRole('ADMIN')")
                .antMatchers("/user/admin").hasRole("ADMIN")
                .anyRequest().authenticated()
                .and()
                .formLogin().loginPage("/user/login").permitAll()
                .usernameParameter("username")
                .passwordParameter("password")
                .and()
                .rememberMe().rememberMeCookieName("RememberMeFromLecture")
                .rememberMeParameter("remember")
                .key("golqmaTaina")
                .and()
                .logout().logoutSuccessUrl("/user/login?logout").logoutRequestMatcher(new AntPathRequestMatcher("/signout")).permitAll()
                .and()
                .exceptionHandling().accessDeniedPage("/user/unauthorized")
                .and().csrf().disable();
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception
    {
        auth.userDetailsService(this.userService).passwordEncoder(getBCryptPasswordEncoder());
    }

    @Bean
    public BCryptPasswordEncoder getBCryptPasswordEncoder()
    {
        return new BCryptPasswordEncoder();
    }

}

这是我的配置文件,它可以在没有休息的情况下完美运行,但我的问题只是想让登录页面与所有人一起休息。如果它是这样的配置,我的登录已经自动完成,我甚至无法在我的控制器内设置断点。它有效,但我想让它休息一下。

1 个答案:

答案 0 :(得分:1)

我创建了一个示例应用程序(https://github.com/manishsingh27/TokenBasedAuth),它基于REST进行身份验证。 客户端应用程序基于AngularJS,它有登录页面,文件在这里 - https://github.com/manishsingh27/TokenBasedAuth/tree/main/authz/src/main/resources/static。 此处还有REST API - https://github.com/manishsingh27/TokenBasedAuth/blob/main/authz/src/main/java/com/adms/authz/self/user/controller/UsersController.java。 配置文件在这里 - https://github.com/manishsingh27/TokenBasedAuth/blob/main/authz/src/main/java/com/adms/authz/config/SecurityConfiguration.java
您需要使用@EnableResourceServer批注来保护Rest API。