Tag: 单点登录

CAS单点登出不起作用

我在Apache Tomcat上安装了CAS服务器(v3.5.2),在JBOSS上安装了2个客户端。 除非单点退出,否则一切正常。 我想我所做的一切都很好,但仍然存在这个问题。 我的配置服务器端:在WEB-INF \ deployerConfigContext.xml中: 客户端配置:在web.xml中: CAS Single Sign Out Filter org.jasig.cas.client.session.SingleSignOutFilter artifactParameterName SAMLart CAS Single Sign Out Filter /* REQUEST FORWARD org.jasig.cas.client.session.SingleSignOutHttpSessionListener CAS Authentication Filter org.jasig.cas.client.authentication.AuthenticationFilter casServerLoginUrl http://localhost:8888/cas-server-webapp-3.5.2/login service http://localhost:8080/firstCasClient CAS Validation Filter org.jasig.cas.client.validation.Saml11TicketValidationFilter casServerUrlPrefix http://localhost:8888/cas-server-webapp-3.5.2 service http://localhost:8080/firstCasClient CAS HttpServletRequest Wrapper Filter org.jasig.cas.client.util.HttpServletRequestWrapperFilter CAS Assertion Thread Local Filter org.jasig.cas.client.util.AssertionThreadLocalFilter CAS Authentication Filter […]

Spring安全登录与restWeb服务

我的公司有一个特定的身份validation提供程序,它是一个内部REST Web服务。 实际上,您为Web服务提供了一个登录名/密码,它返回一个令牌(有效期为几个小时),必须在每个下一个Web服务请求的标题中给出。 我需要创建一个Web应用程序,我需要将其插入此身份validation提供程序。 将它与Spring Security集成的最佳方法是什么? 如何在不要求用户重新登录的情况下管理我的webapp中的令牌过期?

当客户端和服务器在同一台计算机上时,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 […]

Spring需要一个’AuthenticationManager’类型的bean

我一直在尝试按照在这里找到的教程来设置演示,以帮助我在我的本地机器上理解SSO,然后再在另一个项目中实现。 我遇到了一个让我陷入困境的问题。 我收到并告诉我添加一个bean的错误。 请告诉我我错过的代码。 我无法让程序运行。 文件系统树 AuthApplication.java package com.spud.auth; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Configuration; 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.WebSecurityConfigurerAdapter; import org.springframework.security.oauth2.config.annotation.configurers.ClientDetailsServiceConfigurer; import org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurerAdapter; import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer; import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer; import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer; import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerSecurityConfigurer; @SpringBootApplication @EnableResourceServer public class AuthApplication { public static void main(String[] args) { SpringApplication.run(AuthApplication.class, args); } @Configuration protected static […]

CAS注销和cookie消除

我刚刚创建了一个HelloWorld servlet并在其上实现了CAS。 我能够毫无问题地登录,CAS在我的浏览器中设置了3个cookie,CASGT和2个JSESSIONID 1用于/ cas,另一个用于/ helloWorld 问题是,然后我访问https:// blah:8443 / cas / logout ,我看到已注销的成功屏幕,但cookie仍然在我的浏览器中,所以我没有被淘汰,我可以再次进入/ helloWorld没有显示登录屏幕。 你知道我应该怎么做CAS删除它在我注销时创建的cookie吗? 提前致谢

CAS 4.2获取LDAP属性

我使用以下配置成功获取LDAP属性值,我可以在日志文件中看到这些值。 现在我该如何将这些属性发送给客户端? 这是我的deployerConfigContext.xml中的默认attributeRepository: memberOf faculty staff org 有没有办法用principalAttributeMap填充attributeRepository? 当我从deployerConfigContext.xml中删除attributeRepository时抛出exception。 根据此文档https://apereo.github.io/cas/4.2.x/installation/LDAP-Authentication.html,LdapAuthenticationHandler能够独立解析和检索主要属性,而无需额外的主体解析器机制。 如果是这样,我们如何将这些属性返回给客户?

SSO,未知

我开始为我们生产的3个不同的webapps开发SSO解决方案,并且仍然为同一个客户端维护。 事实上,所有3个人通过第四个单独的应用程序将他们的用户和登录信息存储在同一个地方,该应用程序只提供基本的restful api服务。 这基本上意味着当一个人试图登录时,我们实际上会调用其他服务来询问这个用户名和密码是否正确。 在某种程度上,这第四个宁静的东西已经完成了至少一半我们需要的工作。 我们现在需要的是一种方法,让用户登录webapp A,然后按照链接(或简单地键入其URL)到webapp B(或简单地键入其URL)并到达那里已经记录 (或反之亦然)。 我一直在阅读很多有关CAS和openID甚至是oauth的内容,但我无法真正决定它。 这种模式是集中的吗? 分散的? 我的一万英尺的视图表明,我会以某种方式只需要将这个“缺失的function”添加到我们的restful api服务器中。 但是怎么样? ps:这3个完全分开。 部署在不同的机器上(其中2台在glassfish上运行,另一台在tomcat上运行)。 也是不同的领域。 pps:它们都是弹簧驱动的webapps(因此它们使用spring-security ) ppps:截至今天,还有其他webapps使用我们的restul api(非spring,非java)。 这个解决方案可能必须准备好处理这些。

在Jetty9 WebAppContexts之间实现SSO

我正在开发的Jetty 9应用程序自动扫描一组JarFiles for web.xml,然后以编程方式将包含的webapps导入为WebAppContexts。 我需要在各个Web应用程序之间实现单点登录,如以下Jetty 6教程中所述: http : //docs.codehaus.org/display/JETTY/Single+Sign+On+-+Jetty+HashSSORealm 。 不幸的是,HashSSORealm似乎已从Jetty中移除。 有没有可行的替代方案来实施简单的SSO? 我确实发现这篇文章推荐了Fediz jetty插件,但是如果存在这样的话,我更愿意使用本机docker解决方案: http : //dev.eclipse.org/mhonarc/lists/jetty-users/msg03176.html 更多信息: 核心问题似乎是每个WebAppContext都必须有自己的SessionManager,这使得即使使用相同的cookie,WebAppContexts也无法相互共享信息。

java.sql.SQLException:I / O错误:SSO失败:本机SSPI库

我有两个Web应用程序需要在Tomcat 6,MS SQL 2008和JTDS-1.2.2上作为驱动程序运行。 如果我只启动一个Web应用程序,一切正常,但是一旦我启动第二个,我就会收到以下错误(订单无关紧要): java.sql.SQLException: I/O Error: SSO Failed: Native SSPI library 当然,库ntlmauth.dll位于C:\WINDOWS\system32 似乎第二个启动的应用程序无法找到单点登录的ntlmauth.dll 。

如何使用LTPA令牌中的信息

请考虑以下设置: 部署在Websphere Application Server上的Web应用程序(如果重要,则为6.1) 该应用程序将通过webseal反向代理访问 webseal负责身份validation并传递LTPA令牌作为有效身份validation的标志 如果我做对了,LTPA令牌包含用户名,角色等信息。 问题:如何从我的Java Web应用程序中的LTPA令牌访问此信息?