当前位置: 首页 > 知识库问答 >
问题:

防止spring在使用JWT时默认使用会话身份验证

籍辰沛
2023-03-14

我有一个Spring启动应用程序,它由Azure AD oAuth2保护。我使用JWT授权。在安全配置中

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .anyRequest().authenticated()
                .and()
                .oauth2ResourceServer().jwt();
    }

我还将一些东西保存在会话中。但我发现,如果用户已经通过身份验证,他们可以绕过JWT身份验证,因为spring boot将身份验证保存在会话中。如何禁用此行为并仅允许通过JWT进行授权。

共有1个答案

范俊逸
2023-03-14

试试这个:

@Override
    protected void configure(HttpSecurity http) throws Exception {
       http.sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.STATELESS);
    }
 类似资料:
  • 在身份验证等情况下,与会话相比,使用JWTs有什么优势? 它是作为独立方法使用还是在会话中使用?

  • 我在做一个全堆栈的web应用程序。我的前端由angular-cli组成,后端由node+Express构建。

  • 我正在使用SpringBoot开发具有微服务架构的Rest Backend。为了保护endpoint,我使用了JWT令牌机制。我正在使用Zuul API网关。 如果请求需要权限(来自JWT的角色),它将被转发到正确的微服务。Zuul api网关的“WebSecurityConfigrerAdapter”如下。 这样,我必须在这个类中编写每个请求授权部分。因此,我希望使用方法级安全性,即“Enabl

  • jwt不应该仅仅用于认证用户吗?我读到过可以在里面存储非敏感的东西,比如用户ID。将权限级别之类的东西存储在令牌中可以吗?这样我可以避免数据库调用。

  • 我正在开发ASP NET核心Web API,对认证方式的选择感到困惑。我曾经应用默认的Asp Net身份验证,但最近我知道了JWT。因此,我几乎像本文中一样实现了身份验证:https://stormpath.com/blog/token-authentication-asp-net-core。但是我不能理解这个JWT的好处。通过简单的Asp Net身份认证,我不关心令牌存储等,我只需要用signI

  • 我正在Spring Boot应用程序中学习Spring Security性,我试图了解默认情况下使用Spring Security性的身份验证方式。我知道Spring Security默认情况下使用基于表单的身份验证,但我使用基本身份验证对Postman进行了测试,结果正常。 我有一个非常简单的Spring Boot应用程序。 Rest控制器: 我在pom中添加了Spring Security依赖