Spring Boot-Spring安全授权问题

时间:2018-09-20 13:32:13

标签: spring-boot spring-security

我已经通过基本身份验证保护了我的spring boot应用程序。下面是我的春季安全配置。

class EventServiceProvider extends ServiceProvider
{

    /**
    * Register any events for your application.
    *
    * @return void
    */
    public function boot()
    {
        parent::boot();
        User::creating(function($user){
            if($user->password === "" || empty($user->password)){
                $user->password  = bcrypt(str_random(10));;
            }
        })

    }
}

当我尝试通过邮递员访问应用程序剩余URL时遇到问题。当我在邮递员的授权中未提供任何授权/错误的凭据时,我将无法访问该资源并收到无效的凭据错误消息。但是,问题是当我第一次能够使用正确的凭据成功访问资源,而现在我将凭据更改为无效的凭据并尝试访问资源时,我仍然可以访问它。

无论如何,我都可以防止这种情况。

谢谢。

关于, 法汉

1 个答案:

答案 0 :(得分:2)

Spring Security创建一个会话并发回Postman保留的cookie,然后您将登录,直到该会话变为无效。

您可以通过以下方式禁用会话:

http
    .sessionManagement()
        .sessionCreationPolicy(SessionCreationPolicy.STATELESS);

在SpringSecurityConfiguration的configure方法中。

但是请记住,您禁用了整个会话管理。如果您只有REST API,但是如果您还有其他Web组件,则可能需要HTTP会话。