我们在windows auth登录应用程序中遇到了问题。Spring安全kerberos windows身份验证用于此登录过程。然后在我们的项目中实现了春季安全。它适用于一些客户,.But,一些客户遇到了一个错误,如下所示。
Bad Request
Your browser sent a request that this server could not understand.
Size of a request header field exceeds server limit.因此,在LimitRequestFieldSize的serverfault.We中有一个改变了的问题。但它并没有解决我们的case.My问题,与apache.So没有直接关系,我想在这里提出我的问题。
问题与size.This大小有关,取决于用户的活动目录组。有些组可能包含其他组。
如何在不更改的情况下减少此大小?有太多的客户,我们不能改变组的所有用户。
第二点:
我们的配置文件如下
server:
port: 8080
app:
ad-domain: EXAMPLE.ORG
ad-server: ldap://WIN-EKBO0EQ7TS7.example.org/
service-principal: HTTP/neo.example.org@EXAMPLE.ORG
keytab-location: /tmp/tomcat.keytab
ldap-search-base: dc=example,dc=org
ldap-search-filter: "(| (userPrincipalName={0}) (sAMAccountName={0}))"我们用的是搜索过滤器
"(| (userPrincipalName={0}) (sAMAccountName={0}))"但是在示例代码中没有组筛选器。
我想解决这个问题的源代码,如果可能的话。
是否有任何方法限制使用spring安全的用户组?
或者其他的想法?
问候
发布于 2018-02-22 17:42:57
看看你的问题和你写的,告诉我你自己解决问题的努力很小。你把很多东西混在一起,让我把它弄清楚:
可能是客户的反向代理(?)拒绝将Authorize头转发回Tomcat。您还没有提供为LimitRequestFieldSize设置的大小。最坏的情况是,您必须设置Windows上最大可能的令牌大小并为Base64添加开销。启用请求头日志记录,获取Base 64令牌并将其传递给ASN.1解码器。如果失败,则令牌不完整,增加限制。
我们的背景是./extra/httpd-vhosts.conf: LimitRequestFieldSize 32768,我们有很多组,上百个。
https://stackoverflow.com/questions/48802139
复制相似问题