首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无形弹簧SPNEGO

无形弹簧SPNEGO
EN

Stack Overflow用户
提问于 2018-02-21 00:10:44
回答 1查看 1.6K关注 0票数 2

我有一些关于设置SPNEGO而不使用表单后退的问题。

我正在编写一个web服务,它使用SPNEGO身份验证,并为经过身份验证的主体返回一个签名的JWT。我对表单没有任何用处(例如,不能将表单与仅使用身份验证的主体一起使用)。

  1. 我可以跳过spring引用中所示的formLogin()和logout()部分,并使用零参数SpnegoEntryPoint构造函数吗?
  2. SPNEGO滤波器源中可以看出,如果授权头丢失,那么过滤器实际上不会返回带有WWW身份验证的401未经授权的响应:向调用方协商挑战。也就是说,第135行的检查没有else。我看对了吗?RFC声明服务器是否收到了访问保护对象的请求,如果未发送可接受的授权头,服务器将使用"401未经授权“状态代码和”WWW身份验证:“进行响应。
  3. 如果上述情况正确,是否期望客户端先发制人地发送授权头?

谢谢!

编辑(可能已解决):我的原始安全配置有:

代码语言:javascript
复制
http.exceptionHandling()
    .authenticationEntryPoint(spnegoEntryPoint())
    .and()
.authorizeRequests()
    .antMatchers("/v1/**").permitAll()
    .anyRequest().authenticated()
    .and()
.addFilterBefore()...`

当我删除.antMatchers("/v1/**").permitAll()时,SpnegoEntryPoint就会启动,现在我看到了一个带有WWW身份验证的401 :协商响应。

当然,现在我得到了一个Server not found in Kerberos database gss_init_sec_context()故障,但我怀疑这与SPN设置或主机名解析有关(因为我是在Macbook上本地测试这一点),而不是Spring应用程序。

当我开始工作的时候,最后会更新一次。

EN

回答 1

Stack Overflow用户

发布于 2018-02-21 07:35:35

  1. 是的,零论点的宇航员是正确的。
  2. 筛选器不负责设置状态和标头。SpnegoEntryPoint是。org.springframework.security.kerberos.web.authentication.SpnegoEntryPoint.commence(HttpServletRequest,HttpServletResponse,AuthenticationException)
  3. 不,见2。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48896280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档