Tag: spnego

密码的SPNEGO身份validation问题

我已将我的应用程序配置为通过SPNEGO与Websphere一起使用Kerberos身份validation。 这是细节 的krb5.conf [libdefaults] default_realm = ABC.MYCOMPANY.COM default_keytab_name = FILE:C:\IBM\WebSphere\AppServer\kerberos\MyServer.keytab default_tkt_enctypes = rc4-hmac des-cbc-md5 default_tgs_enctypes = rc4-hmac des-cbc-md5 forwardable = true renewable = true noaddresses = true clockskew = 300 [realms] ABC.MYCOMPANY.COM = { kdc = TEST.abc.mycompany.com:88 default_domain = mycompany.com } [domain_realm] .mycompany.com = ABC.MYCOMPANY.COM login.conf的 spnego-client { com.sun.security.auth.module.Krb5LoginModule required; }; spnego-server { com.sun.security.auth.module.Krb5LoginModule required […]

SPNEGO用Java提示密码多次

我正在使用spnego http://spnego.sourceforge.net在我的系统上进行单点登录,问题是还要输入正确的密码,它会一次又一次地提示。 有时,如果您键入两次,则可以加入系统,有时您需要输入相同用户和密码的10倍以上才能访问系统。 登录系统后,可以在随机时间,一次又一次地多次提示密码。 提前致谢

当客户端和服务器在同一台计算机上时,Kerberos身份validation未运行

尝试从运行jboss服务器的同一台计算机上访问应用程序时,我收到以下错误 org.springframework.security.authentication.BadCredentialsException: Kerberos validation not succesfull at org.springframework.security.extensions.kerberos.SunJaasKerberosTicketValidator.validateTicket(SunJaasKerberosTicketValidator.java:69) at org.springframework.security.extensions.kerberos.KerberosServiceAuthenticationProvider.authenticate(KerberosServiceAuthenticationProvider.java:86) at org.springframework.security.authentication.ProviderManager.doAuthentication(ProviderManager.java:120) at org.springframework.security.authentication.AbstractAuthenticationManager.authenticate(AbstractAuthenticationManager.java:48) at org.springframework.security.extensions.kerberos.web.SpnegoAuthenticationProcessingFilter.doFilter(SpnegoAuthenticationProcessingFilter.java:131) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:149) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at […]

使用Spnego / Kerberos进行Spring启动 – 配置问题 – 需要ServletContext来配置默认的servlet处理

让spring-security-kerberos-web与Spring Boot应用程序一起工作,我似乎已经达到了一个死胡同。 我的项目中有一个@Configuration类,如下所示 package com.co.dept.bsc.configuration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.FileSystemResource; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.kerberos.authentication.KerberosAuthenticationProvider; import org.springframework.security.kerberos.authentication.KerberosServiceAuthenticationProvider; import org.springframework.security.kerberos.authentication.sun.GlobalSunJaasKerberosConfig; import org.springframework.security.kerberos.authentication.sun.SunJaasKerberosClient; import org.springframework.security.kerberos.authentication.sun.SunJaasKerberosTicketValidator; import org.springframework.security.kerberos.web.authentication.SpnegoAuthenticationProcessingFilter; import org.springframework.security.kerberos.web.authentication.SpnegoEntryPoint; import org.springframework.security.web.authentication.www.BasicAuthenticationFilter; import com.co.dept.bsc.service.DummyUserDetailsService; @Configuration @EnableWebSecurity public class AuthProviderConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(final HttpSecurity http) throws Exception […]

使用Spnego解密kerberos票

我正在使用spnego( http://spnego.sourceforge.net )在JBoss下进行kerberos身份validation。 我需要解密kerberos票证才能访问包含PAC数据的授权数据。 需要PAC数据来决定将哪些角色授予用户。 如何访问和解密kerberos票? 我搜索网上的例子,但没有努力。

人们如何让Java SPNEGO客户端在Windows中运行?

要在Windows上使用Java进行客户端HTTP SPNEGO身份validation,您需要设置Windows注册表项allowtgtsessionkey 。 这是有据可查的。 我不明白的是人们如何解决这个问题? 大多数企业站点永远不会接受在Windows中为了单个软件而更改此注册表项。 如果需要在组织中的每个工作站上更改它,请考虑一下麻烦。 但这只是理论,因为我到目前为止还无法说服我们的任何客户更改此注册表项。 我不怪他们。 大多数企业管理员会认为这样可以放松安全性并因此反对它。 我已经读过: 在Java或命令行工具中是否有办法使用本机SSPI API获取服务的Kerberos票证? 但它现在已经很老了。 所以我真的,真的不明白人们如何使Windows + Java客户端+ Kerberos可以在除大学环境,家庭用户等之外的任何地方工作。 我从公司管理员那里得到的问题是“当IE和Firefox等应用程序在没有设置此密钥的情况下执行SPNEGO时,我们为什么需要设置此注册表项?”。 好吧,我知道答案是什么。 这是因为(很可能)IE和Firefox等应用程序基于Windows本机GSS API(SSPI),而Sun的Java使用自己的实现。 我假设使用像WAFFLE这样的东西可以解决问题,但我赞成纯Java解决方案。 我还假设使用基于Java的解决方案(如Spring安全性或Apache HttpClient)无济于事,因为它们都会遇到这个问题。 任何帮助或指示将不胜感激。 更新1 : 我发现Oracle的bug数据库中有一个RFE 。 还有一个Oracle员工就此问题提交的补丁以及有关此function的JDK邮件列表的讨论 。 除了我能理解的这一点,在目前的Java 7中没有这个function,甚至不是实验性的。 对? 更新2 : 现在问题在OpenJDK Security Dev邮件列表上再次存在 。

校验和失败:Kerberos / Spring / Active Directory(2008)

我们无法使用Kerberos / AD身份validation来使用Spring Web应用程序,我认为该问题与Kerberos票证和Active Directory域function级别的加密类型有关。 基本设置是: 雄猫7 Java 1.6(29) Windows Server 2008 R2 spring3.0 Spring Security Kerberos / Spnego扩展M2详见: http : //blog.springsource.com/2009/09/28/spring-security-kerberos/ 我有一个环境,其中Active Directory域function级别是Windows Server 2003,一切正常,如果客户端登录到域,则客户端按预期进行身份validation。 使用kerbtray检查此环境中的票证我可以看到它们都具有票证加密类型和密钥加密类型“RSADSI RC4-HMAC”。 我有一个function级别为Windows Server 2008的新域,这是身份validation不起作用的地方。 尝试validation票证时返回的应用程序错误是: Kerberos validation not successful… Caused by: GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed) at sun.security.jgss.krb5.Krb5Context.acceptSecContext(Unknown Source) at sun.security.jgss.GSSContextImpl.acceptSecContext(Unknown Source) at […]