Java Spring框架-REST调用的主体Null
我使用的是JavaSpring安全性,无法在主体的REST调用之后设置主体。我需要针对每个端点的HasRole检查设置主体,但不幸的是,在无状态调用期间主体为null。如何设置主体以验证各种角色?您所说的“无状态”调用是什么意思?没有调用在内部是无状态的,事实上REST意味着状态转移。也许这就是你需要的答案@他可能指的是会话管理策略设置为无状态,但这只是一个猜测。更多的代码,特别是Java Spring框架-REST调用的主体Null,java,spring-mvc,spring-security,Java,Spring Mvc,Spring Security,我使用的是JavaSpring安全性,无法在主体的REST调用之后设置主体。我需要针对每个端点的HasRole检查设置主体,但不幸的是,在无状态调用期间主体为null。如何设置主体以验证各种角色?您所说的“无状态”调用是什么意思?没有调用在内部是无状态的,事实上REST意味着状态转移。也许这就是你需要的答案@他可能指的是会话管理策略设置为无状态,但这只是一个猜测。更多的代码,特别是UserDetailsService,AuthenticationProvider,以及整体SpringSecuri
UserDetailsService
,AuthenticationProvider
,以及整体SpringSecurity配置和角色使用的简短示例会有所帮助。您确定您的提供商在每个请求中都正确设置了身份验证对象吗?对于这个误导性的问题,我深表歉意。我似乎不能在每一个请求中都通过主要论点。因此,我无法直接访问它。我只能在登录时获得它,如下所示:request.getAttribure(主体)主体在api调用期间不会持久化。但是,它会在登录过程中自动出现。对于REST调用,您如何定义spring安全性还不清楚。通常您有类似于http.authorizeRequests().antMatchers(“/api/…”).authorized()和().sessionManagement().sessionCreationPolicy(sessionCreationPolicy.STATELESS)和().httpBasic()和()代码>为REST配置SpringSecurity。在这里,用户通过请求中包含的授权
HTTP头字段进行身份验证,如果可用,将通过用户详细信息服务