对于包括静态资源请求在内的所有请求,Siteminder将SM_USER (userId)发送回应用程序。我们不需要在每个请求头中都有userId,除了指定的Url。有谁可以帮助我们在Spring boot+Siteminder配置中避免这种情况?
下面使用Siteminder过滤器,
@Override protected void configure(HttpSecurity http)抛出异常{ http.addFilterBefore(siteminderFilter(),RequestHeaderAuthenticationFilter.class) .......}
@ filter.setAuthenticationManager(authenticationManagerBean());公共筛选器siteminderFilter()抛出异常{ RequestHeaderAuthenticationFilter RequestHeaderAuthenticationFilter =filter.setPrincipalRequestHeader();smEmpID(SmEmpID);Bean filter.setCheckForPrincipalChanges(true);filter.setExceptionIfHeaderMissing(false);返回筛选器;
谢谢。
发布于 2020-04-28 18:50:58
你可以在你的ACO中设置DisableUserNameVars=No,它将停止发送SM_USER
对于需要用户you的urls,您可以设置带有用户you的自定义头文件,如HTTP_SM_USER。
请注意,根据文档,在应用程序中使用SM_USER是不可取的。
对于少数其他应用程序(如与SAP或其他应用程序集成),您必须具有SM_USER,因此您无法逃避。
https://stackoverflow.com/questions/60226617
复制相似问题