问题标签 [jasig]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
12274 浏览

security - CAS HTTP 401 - 身份验证失败:凭据错误

当我尝试登录时,Cas 出现错误,我有自签名证书并且已经将这些添加到我的密钥库和密钥库到 cacerts,我正在使用 tomcat6 和 maven 来生成 .war,我已经阅读了其他解决方案修改代码,但这些在我有帮助的代码中都不起作用

这些是来自 CAS 的日志

这些是来自 Ldap 的日志

这些是来自 Security-proxy 的日志

applicationContext-security.xml 的代码是这些

来自 security-proxy.properties 的代码是下一个

0 投票
0 回答
668 浏览

jsf - Jasig Cas Logout 在 JSF 应用程序中无法正常工作

我对 jasig cas 注销有疑问。当我尝试调用下面的注销方法时,我收到此错误:

HTTP Status 500 - Cannot create a session after the response has been committed. javax.servlet.ServletException: Cannot create a session after the response has been committed

public String logout() {

我知道重定向功能不会破坏生命周期,因此调用页面将在返回后处理。我想销毁会话并转到 CAS 注销页面。我该如何解决这个问题?

0 投票
1 回答
905 浏览

cas - 在 Active Directory 上使用 Jasig Cas 进行 LDAP 身份验证时出错

当我尝试登录 CAS 时,我的日志中出现以下 tomcat 错误。谁能帮助我我的错误可能在哪里?CAS 和 Active Directory 的配置是尽可能标准的,唯一的例外是我使用的是 ldap 而不是 ldaps。

2013-09-27 01:26:19,714 信息 [org.jasig.cas.services.DefaultServicesManagerImpl] - 加载了 4 个服务。2013-09-27 01:26:22,651 信息 [org.jasig.cas.util.AutowiringSchedulerFactoryBean] - 现在启动 Quartz 调度程序 2013-09-27 01:26:40,806 信息 [org.jasig.cas.ticket.registry.support .DefaultTicketRegistryCleaner] - 开始票据清理。2013-09-27 01:26:40,822 信息 [org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner] - 发现 0 张票被删除。2013-09-27 01:26:40,822 信息 [org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner] - 完成票证清理。2013-09-27 01:28:19,820 信息 [org.jasig.cas.services.DefaultServicesManagerImpl] - 重新加载注册的服务。2013-09-27 01:28:19,820 信息 [org.jasig.cas.services.DefaultServicesManagerImpl] - 加载了 4 个服务。2013-09-27 01:30:19, 778 INFO [org.jasig.cas.services.DefaultServicesManagerImpl] - 重新加载注册的服务。2013-09-27 01:30:19,778 信息 [org.jasig.cas.services.DefaultServicesManagerImpl] - 加载了 4 个服务。2013-09-27 01:30:55,688 INFO [org.jasig.cas.web.flow.InitialFlowSetupAction] - 将 cookie 的路径设置为:/cas/ 2013-09-27 01:30:55,688 INFO [org.jasig. cas.web.flow.InitialFlowSetupAction] - 将 cookie 的路径设置为:/cas/ 2013-09-27 01:31:18,878 错误 [org.jasig.cas.authentication.AuthenticationManagerImpl] - org.jasig.cas.adaptors.ldap .BindLdapAuthenticationHandler 抛出错误身份验证 [username: pieter@test.local] org.springframework.ldap.NameNotFoundException: [LDAP: error code 32 - 0000208D: NameErr: DSID-031001CD, question 2001 (NO_OBJECT), data 0, best match of: 'DC=测试,DC=本地' NULL]; 嵌套异常是 javax.naming.NameNotFoundException: [LDAP: 错误代码 32 - 0000208D: NameErr: DSID-031001CD, 问题 2001 (NO_OBJECT), 数据 0, 最佳匹配: 'DC=test,DC=local' NULL]; 在 org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java :306) 在 org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler.authenticateUsernamePasswordInternal(BindLdapAuthenticationHandler.java:90) 在 org.jasig.cas 的 org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:361)。 authentication.handler.support.AbstractUsernamePasswordAuthenticationHandler.doAuthentication(AbstractUsernamePasswordAuthenticationHandler.java:71) 在 org.jasig.cas。

0 投票
1 回答
776 浏览

spring-security - 使用 Spring Security CAS 扩展实现 SSO 时的问题

我正在尝试使用 Spring Security CAS 扩展对我的应用程序上的用户进行身份验证。之前只有一个应用程序,因此不需要 SSO。现在还有一个应用程序,我希望用户登录一次并使用所有应用程序,而无需再次通过身份验证(基本上是 SSO)。我有一堆这样的问题-

  • 我拥有的所有应用程序都是单个 tomcat 容器的一部分,将通过同一个域提供服务。我检查了 Tomcat SSO Valve,但它似乎需要基于容器的身份验证,我不确定是否要将其用于身份验证/授权。我正在使用基于弹簧安全表单的登录。我真的需要像 Jasig CAS 这样的东西还是会有点矫枉过正?

Spring Security 和 CAS deployerContext 配置 - http://pastie.org/8408976http://pastie.org/8408967

  • 我使用 Jasig 服务器设置了 Spring Security CAS,SSO似乎可以正常工作,因为登录到任何应用程序都足以访问其他应用程序。我已经修改了 deployerConfigContext.xml 以将 inMemoryServiceRegistryDaoImpl 替换为 JPA / Hibernate 之一。但我总是在我的日志中看到以下行。尽管已经在我的数据库中创建了表(SERVICETICKET 等)。当我尝试登录和注销时,这些表总是空的。

    2013-10-17 16:41:18,882 INFO [org.jasig.cas.services.DefaultServicesManagerImpl] - <Loaded 0 services.>

  • 当我尝试访问 URLhttps://localhost/cas/services时,它返回错误“此网站有重定向循环”。我看到下面的文章在日志中重复了 n 次(带有不同的票号)- http://pastie.org/8408940

  • 我没有任何 REST 或无状态服务访问经过身份验证的资源,我是否需要代理票证?

注意:我使用的是 Spring Security 3.1.4.RELEASE 和 CAS server 3.5.2 版本。任何指针都会有所帮助。

0 投票
1 回答
1119 浏览

spring-security - 为 CasAuthenticationFilter 设置 Pre auth 过滤器

我为几个应用程序设置了 Spring Jasig CAS SSO。这使用CasAuthenticationFilter. 所以我设置了这样的网络应用程序 -

Cas Server (Cas 3.5.2) - Cas.war,App1 - App1.warApp2 - App2.war. 应用程序使用 Spring 3.2.3 和 Spring Security 3.1.4.RELEASE。

Spring Security Config: http: //pastie.org/private/qxcx1h8i9ys0w3lmwegiw

使用此设置似乎可以正常工作。现在,当我在 Cas 服务器上启用 OAuth(不是通过 Spring Cas)时,我无法将该身份验证与我设置的通常基于表单的身份验证集成。Facebook OAuth 集成似乎工作正常,因为我可以看到在日志中成功检索到 Facebook 个人资料属性。问题是发布 facebook 登录后,CasAuthenticationFilter 尝试使用类似的基于表单的登录机制对用户“FacebookProfile#XYZXYZ”进行身份验证,显然它没有在用户的数据库表中找到该用户。我的猜测是我需要编写一个自定义过滤器,该过滤器AbstractPreAuthenticatedProcessingFilter在之前扩展并带有位置PRE_AUTH_FILTER(检查上面的粘贴配置)并且应该以某种方式设置Authentication正确,所以CasAuthenticationFilter应该知道用户已经登录。

这是根据CasAuthenticationFilter日志验证的 URL -/j_spring_cas_security_proxyreceptor?pgtIou=PGTIOU-1-pR9r9LVJvB5EkezbMJHN-talenteye.in&pgtId=TGT-2-QXvAHIRciBNR9HU5FOvpOaHcJaBj5OJTUPPz5ZwA7yK1xH54iL-myorg.in

requiresAuthentication的实现CasAuthenticationFilter看起来像这样:

日志说 -

我对如何使这项工作一起工作感到困惑。我想知道我是不是把事情复杂化了。任何指示都会非常有帮助,因为我已经在这上面浪费了几天时间。

0 投票
1 回答
279 浏览

tomcat - Windows Server下Tomcat下Jasig CAS如何更改keytab文件的位置

我正在 Windows 2008R2 机器上实现 CAS 服务器。一切都运行得很完美,但是只有当我将我的 keytab 文件放在 C: 中时。我的 login.conf 目前看起来像这样:

我想将 keytab 文件的位置更改为我的 Tomcat 目录。我尝试了以下方法(包括移动 keytab 文件本身),但它们都不起作用:

有谁知道如何将 keytab 文件位置更改为我的 Tomcat 目录?

0 投票
1 回答
1114 浏览

maven - Jasig CAS Server 3.5.2 使用 Maven-3 构建失败

我一直在尝试构建 Jasig CAS Server 3.5.2。在 CentOS6 机器上。但是,运行后mvn package install,我收到以下错误:

这是来自 Maven 的一些系统信息。

我已经尝试寻找类似问题的解决方案,但到目前为止我还没有取得太大的成功。我一直在尝试自己通读日志,但是由于我对 Maven 和 CAS 都不太熟悉,因此并没有太大帮助。

如果您需要任何其他信息,请询问。

[编辑] 这是来自 /home/user/cas-server-3.5.2/cas-server-integration-jboss/target/surefire-reports 的测试结果样本。所有其他错误基本相同。

0 投票
1 回答
1974 浏览

java - 来自 CAS 的用户名和来自另一个数据库的角色

我在带有 MySQL 数据库的 tomcat 7 上运行 CAS 3 Spring 3.2 和 Spring Security 3.2。

我们使用带有 CAS 的 MySQL 数据库对用户进行身份验证,然后在成功后传递属性,我们从名为 say"sso" 的数据库中获取这些详细信息

之后我们要做的是从这些属性中获取用户名,然后转到一个名为“app”的特定于应用程序的数据库。

所以我们要做的就是在认证成功后从 CAS 中获取用户名,然后从数据库中获取其角色。

我们怎样才能正确地做到这一点?

更新

好的,现在我到目前为止所尝试的,我真的不知道这是否有效。

我已经实现UserDetailsService并创建了一个UserEntityDetails扩展我的UserEntity和实现UserDetails的,然后我用我UserDetailsService来加载我的自定义创建的类。

然后在我的 XML 中我做了这个

这是正确的方法吗?

0 投票
0 回答
630 浏览

ldap - Jasig CAS LDAP - 如何获取角色

我安装了 jasig 3.4.7 并启用了 OpenLDAP 和 ssl。我可以通过 CAS 登录到在 LDAP 中创建的帐户:很好。

现在我需要通过管理界面声明服务:我意识到我没有“管理员”帐户。所以我尝试向我的用户添加一个组“ADMIN”。我的第一个问题:这是正确的方法吗?

我已经以这种方式声明了 contextSource :

为了让 CAS 检索我的用户管理组,我需要什么。我试过了 :

但是 DefaultLdapAuthoritiesPopulator 与 jasig AuthenticatedLdapContextSource 不兼容。

我应该用什么豆子代替。我见过有些人不使用 jasig 上下文源,而是使用默认的 spring org.springframework.ldap.core.support.LdapContextSource 。这是对的吗 ?这会有帮助吗 ?

谢谢,

0 投票
3 回答
8322 浏览

spring - Jasig CAS,成功登录后如何重定向视图

在我的场景中,用户需要在第一次登录之前更改密码。如何在登录页面之前使 cas 重定向 url?

在我的应用程序中,我已经定义了自己的控制器来处理某些 URL,并且还在 authenticationHandlers 下实现了我自己的自定义身份验证。

现在只留下这个机制在登录前重置密码。

谁能给我一个线索怎么做?

我的maven项目文件: https ://qeyg6a.bay.livefilestore.com/y2msQyFts1aCgGkYR4ybMses2mGFVNJBLCX_xQ9pDi8gVdnhx9P5ibVVBlg6p6T9RM3BAN8Qcz2Izo5JGdQzbyU-kSMTIwBVOYhkdG1RvsyE50/cas-server=1-webapp.rar?download&psid=1

我的登录 webflow.xml

我的解决方案

  1. 创造

在 default_views.properties

  1. 创造
  1. 在 login-wenflow.xml 中,替换

<transition on="success" to="sendTicketGrantingTicket" /><transition on="success" to="customFlowCheck" />

还添加