使用Jasig CAS délégation与2个IdP(ADFS或其他)。
我想使用jasig cas(apereo cas),但在认证委托中 我的问题是:可以使用两个IDP配置CAS以委派身份验证?我怎样才能做到这一点 ? Wayf是如何的? ,并且必须以2个adfs运行的最佳方式:) 我看到(cas-pac4j):,但我看不出是否可以配置2 IDP. 谢谢 解决方案 我使用CAS 4.1.3和PAC4J 1.7.2进行Wayf应用程序,并且效果很好. 我的服务将用户身份验证委托给CAS,CAS显示" Wayf接口",用户必须在两个链接之间选择一个链接 - 每个链接重定向到ADFS 3.0.当用户身份验证时,ADF和CAS具有SAML 2.0 excehanges,CAS将一张票发送到我的服务,...
2 2024-03-20
编程技术问答社区
通过CAS登录Liferay,通过Login Portlet创建账户功能
我们使用Liferay 6.1.0,OpenLDAP来存储用户,而SSO则使用CAS.我配置了Liferay将CAS用于登录.但是,仅当一个单击右上角的"登录"链接时,通过CAS登录工作.用户也可以通过登录portlet登录,但不使用CAS.首先,我认为我可以隐藏或删除登录portlet,以迫使用户通过CAS登录,但是随后我丢失了登录Portlet提供的"创建帐户"链接.我需要Liferay的创建帐户功能,因为它非常实用(例如,将新用户导出到LDAP). 我怎么能吃蛋糕去吃它? IE.提供Liferay的创建帐户链接,而不显示其余的登录portlet,而仅通过CAS登录的" force"已经注册的用户?任何帮助,将不胜感激.谢谢. 解决方案 回答我自己的问题,因为我终于弄清楚了... 我创建了一个钩子来替换JSP文件$TOMCAT/webapps/ROOT/html/portlet/login/login.jsp其中$TOMCAT是Liferay Bundle中的To
0 2024-03-20
编程技术问答社区
如何通过安卓系统登录该CAS系统
我一直在尝试一个月的大部分时间来弄清楚如何通过Android登录我的大学CAS系统.我是HTTP和身份验证的菜鸟,我花了很多时间谷歌搜索术语,但是我现在已经把它们弄下来了. 无论如何,我正在尝试登录CAS系统,并且能够找到我在下面发布的系统的工作图. 我到目前为止有以下代码: DefaultHttpClient httpClient = new DefaultHttpClient(); try { HttpGet httpGet = new HttpGet(LOGIN); HttpResponse response = httpClient.execute(httpGet); HttpEntity entity = response.getEntity(); Log.i(TAG, "Login form get: " + respons
0 2024-03-20
编程技术问答社区
CAS认证Symfony2
我正在寻找一个在Symfony 2.3上集成CAS身份验证的捆绑包.我发现这些选择,事实是我没有说服任何东西,因为几乎所有捆绑包似乎都被放弃而没有更新. 1.- sensiolabs/casbundle: https://github.com/sensiolabs/casbundle 文档稀疏且不完整.我还没有找到任何使用它的示例. 2.- besimple/besimplessoauthbundle: 有了这个,我正在测试,我遇到了一些问题.我认为我正在解决第四个问题,但我落后于另一个问题. 3.- symfony cas客户端: https://wiki.jasig.org/display/casc/symfony+cas+客户端 完全过时 真的,在Symfony中使用CAS进行身份验证的选项很少? 解决方案 我以前有相同的问题,我使用besimplessoauthbundle解决了它,但您必须进行一些更改: 假设您拥有用户实体已经在您的用户布置中实现
8 2024-03-20
编程技术问答社区
RESTful网络服务的CAS认证
我的应用程序需要访问在另一台服务器上运行的RESTFUL Web服务.该Web服务使用CAS身份验证,并且在浏览器中消费时,如果用户尚未对用户进行认证,将重定向到CAS登录.没有方法可以实际登录CAS.我的应用程序还使用CAS,以便对用户进行身份验证 我想通过jQuery/ajax访问它,但是该服务器似乎并未为JSONP配置,我知道这是必不可少的,因为跨域问题. 现在,我可以通过我的服务器提出AJAX请求,这导致了我的问题:没有CAS登录方法供服务器致电,我该如何"告诉" Web服务对用户的身份验证? 所以我想首先我想清楚浏览器,CAS和RESTFUL服务之间的情况,以及如何在没有任何证书的任何解释中处理授权.其次,我想查看如何/是否可以在从我的服务器调用服务时复制这一点 - 它与浏览器的请求不是相同的会话,因此没有CAS授权令牌查看如何获得或提供它. 解决方案 对于问题1的问题1,关于工作方式的身份验证/单个符号: 登录时,CAS服务器(例如Security
8 2024-03-20
编程技术问答社区
我可以在安卓手机应用中使用Jasig CAS服务器吗?
我知道CAS是Web的单个登录协议.它的目的是允许用户在仅提供一次凭据(例如用户ID和密码)的同时访问多个应用程序.它还允许Web应用程序在不访问用户的安全凭据(例如密码)的情况下对用户进行身份验证. 那么,如何将Jasig Cas Server用于Android移动应用程序?一些准则将非常有用! 解决方案 实际上存在两种方法,每个方法都有一些缺点. 公开休息接口( 这里的问题是,如果有人从商店下载您的应用程序并检查其中的网络流量(或简单地分解),他会找到您拨打的电话.有了这个,他可以创建一个与您相同的应用程序,并记录用户输入的密码(例如中间攻击) 在您的应用程序内的网络视图中打开真实的网站 您需要在CAS服务器上创建一个Modle登录页面,或者在CAS服务器上响应迅速的页面,以使其看起来不错.显然,即使在这里,也可以从理论上复制您的应用程序和您的CAS伪造网站,看起来像您的应用程序抓住用户名和密码,然后将其发送给您的CAS,以给用户给用户留下一切正确的
0 2024-03-20
编程技术问答社区
用于CodeIgniter的CAS认证库
我正在尝试在CodeIgniter应用程序中实现CAS身份验证,尽管我找不到当前是否有任何库.我正在管理包括班级并添加一些肮脏的修复程序来管理,尽管如果有人知道合适的库,我认为这将是一个更干净的解决方案. 我一直在这里查看这里的一系列帖子以及Google的各个帖子,但似乎缺乏我的需求.任何相关性的唯一位置是在 vcu库中不包括图书馆下载链接. 谢谢大家! 解决方案 更新:您可以在github上找到库的最新版本: https://github.com/eliasdorneles/code-igniter-cas-library 您也可以通过火花安装: 我已经启动了一个CAS库来简化为CodeIgniter设置CAS身份验证,该caseigniter依赖于现有application/libraries/Cas.php中,然后创建一个config file config/cas.php这样:
2 2024-03-19
编程技术问答社区
如何克服对CAS保护的资源进行Ajax调用的跨域问题?
试图将AJAX调用到与CAS服务器不同的服务器上的CAS保护,被SSL加密的资源时发生的重定向问题的潜在解决方案是什么? CAS服务器用于身份验证和设计.这个问题似乎是特定于Ajax的. 也有一个类似的问题在这里,但我们无法使用CAS服务器和后端资源的相同域/服务器/端口. jasig cas 使用JSessionId提及邮件列表. 另一种可能的方法是修改CAS过滤器以将过期的默认行为更改为更强大的事物. 您将使用什么设计模式来克服此问题? 解决方案 我有2个建议: 您是否可以在同一域上设置一个代理脚本与保存JS代码的脚本?这样,代理脚本将查询CAS并返回所需的结果 您可以启用JSONP吗?这种类型的请求不受安全策略的限制(但任何人都可以使用该服务) 其他解决方案 我从未听说过CAS,但总的来说:JavaScript具有一些限制,称为"相同的起源政策". JavaScript也不会自动看到可见的Ressource.您是否尝试使用反向代
4 2024-03-19
编程技术问答社区
Jasig CAS SSO .NET客户端不能从其他应用程序中注销
我正在使用Jasig cas .Net客户端使用服务器中的SSO在我的应用程序中进行身份验证.我已经像文档所说的那样实施了所有内容,并在所有控制器中添加了[授权]. 登录从我的应用程序和我试图与之集成的应用程序正常工作.我可以从应用程序登录,并且用户已进行身份验证. 问题是注销.如果我从另一个应用程序登录,则用户仍然可以在我的应用程序中访问. 这是因为CAS注销无法删除cookie吗?还是我做错了什么? 解决方案 您仍在登录您的Web应用在CAS服务器上.饼干用于此直到到期为止. 因此,基本上CAS服务器必须具有单个签名页面,该页面使用该CAS服务器(包括您的CAS服务器)从所有Web应用程序中登录用户. CAS服务器必须配置为在您的Web应用程序中调用 logout 页面,该页面又放弃了ASP.NET会话并删除身份验证cookie. CasAuthentication.SingleSignOut()方法为您做到这一点.
8 2024-03-15
编程技术问答社区
.NET中的MembershipProvider for CAS Shibboleth
是否可以在.net中为CAS shibboleth写成员? 解决方案 当想要更改数据源时(ES从SQL到XML),通常使用自定义成员Hipprovider.通过实现成员HippRovider,您可以覆盖ProviderBase方法并更改,例如,会员资格将在其中验证用户是否存在或将其存储在何处. 因此,答案是可以的,但是有一些缺点. ASP.NET中的成员资格通常是应用程序的一部分,应在同一域中运行,与身份验证机制不同(例如OpenID或Shibboleth).这意味着您可以包裹成员Shibboleth,但您最终可能会获得该提供商不支持的一些方法(例如,重置密码函数).在应用程序的一边拥有会员资格的数据提供商,请确保您可以完全控制它.您可以在网站上使用ASP.NET成员资格,以管理用户/角色,登录/注销并将Shibboleth集成为外部身份验证服务.尝试说明 dotnetopenauth 有效.
2 2024-03-12
编程技术问答社区
ASP.NET网络应用中的CAS策略错误
我在网络表单中使用devexpress控件.我在添加控件时添加了对我的refrences文件夹的相应引用(我在此处使用网格)给了我错误 这种方法明确使用了CAS策略,该策略已被.NET框架所掩盖.为了出于兼容原因启用CAS策略,请使用netfx40_legacysecuritypolicy配置开关.请参阅 http://go.microsoft.com/fwlink/?linkid = 155570 有关更多信息. 我检查了解决方案 并更改了我的Web配置,如链接 中给出 但是我遇到了同样的错误 我正在使用vs 2010,而我的.NET框架是4,也正在运行32位OS XP 请帮助 解决方案 我早些时候有这个错误 我通过更改位于 的 devenv.exe 配置文件解决了它 [C:\ Program Files \ Microsoft Visual Studio 10.0 \ Common7 \ IDE] [1](如果您的安装目录为C:) 您需要
4 2024-03-09
编程技术问答社区
未被识别的SSL信息,纯文本连接
当我想通过在HTTPS上运行的Jasig Cas登录时,我的应用程序(HTTP)有问题.从CAS重定向后,我在JBOSS应用程序服务器上获得此错误: Unrecognized SSL message, plaintext connection? Exception 在Apache Server中,我使用MOD_JK库.有人可以帮助我解决这个问题吗? 谢谢 解决方案 例外中的消息非常清楚.您正在使用https连接到宣传的端口.检查URL中的端口号.通常,https:// URL中的端口号应为443或Apache HTTPD,或者可能为8443.
14 2024-02-28
编程技术问答社区
当Tomcat与使用mod_jk的Apache网络服务器连接时,启用SSL。
我有/usr/local/tomcat/webapps/cas,我的java应用程序正在运行. 在尝试http://192.168.0.117/cas>> http://192.168.0.117/cas时,将Tomcat和Apache Web服务器(HTTPD)接口后,我可以看到登录页面,但是当我尝试https://192.168.0.117/cas>时,我从tomcat中从Apache Web服务器中获得404 not found. Not Found The requested URL /cas was not found on this server. Apache/2.2.3 (CentOS) Server at 192.168.0.117 Port 443 https://192.168.0.117/ Apache Web服务器回答的效果很好. 因此,我认为问题应该通过配置Apache Web服务器将某些请求转发到Tomcat来解决. 互联网上有一些帮助
12 2024-02-27
编程技术问答社区
有没有一种方法可以有条件地应用注释?
在我的Java-play应用程序中,我的控制器内有注释@RequiresAuthentication(clientName = "CasClient"). 我只想在生产环境中对用户进行身份验证. 如何有条件地应用注释? 如果我要接近身份验证的方式是错误的,那么仅在Java Play应用程序中进行CAS身份验证的常规方式是什么? 解决方案 您可以实现身份验证器来验证用户.您可以在身份验证器实现中编写身份验证逻辑. 播放已经带有内置的 authenticator 动作,我们将扩展以添加逻辑.我们将此身份验证者称为安全. import play.*; import play.mvc.*; import play.mvc.Http.*; import models.*; public class Secured extends Security.Authenticator { @Override public String getUse
4 2024-02-26
编程技术问答社区
如何使用angularjs路由与CAS认证重定向,还是angular就是不能用?
我的应用程序通常使用以下来进行路由: http://angularapp.com/#/page = bannanas 但是,如果未对用户进行身份验证,则将用户重定向到CAS登录页面,然后在登录后将用户重定向到: http://angularapp.com/ 重定向后,请注意,CAS完全剥离了锚/路由"#/",因为不支持锚固标签. https://issues.jasig.org/browse/browse/cas-1338 这是什么最好的方法?有什么办法可以做这样的事情: http://angularapp.com/?page=bannanas 触发相同路由的路由: http://angularapp.com/#/page = bannanas 因为CAS会在重定向时保留查询参数(不是锚定)?还是有更好的处理方法? 解决方案 您需要在重定向到CAS服务之前对目标URL进行编码.当呼叫从服务中返回时,您将在应用程序中解码并重定向.
2 2024-02-24
编程技术问答社区
通过CAS的AJAX调用
我需要编写一个Google小工具,该小工具从Google组中读取供稿.麻烦的是,我正在打一个Ajax调用以检索提要,而我们的Google Apps域则受到CAS(中央身份验证服务)的保护.因此,我在打电话时收到了400个不好的要求. 我怀疑浏览器在拨打Ajax时不会发送cookie. 我如何确保cookie也通过Ajax调用发送? 或者 如果这不应该是问题,我需要做什么? 解决方案 如果您要进行一个普通的vanilla ajax调用(至少使用jQuery),则如果域和子域都不匹配,请求将失败.也就是说,如果您是从app.mydomain.com到cas.mydomain.com的电话,请求将无法正常工作. 在还确保您在呼叫的两端(应用程序和CAS服务器)上使用相同的协议(HTTP或HTTPS). 如果您在Firefox中使用Firebug,则应看到随着请求发送的cookie.如果他们不在那儿出现,您可能还需要挖掘其他事情. 这是一个类似的问题可能有益.
10 2024-01-21
编程技术问答社区
浏览器不跟随AJAX响应的重定向(PHP生成的响应使用CAS认证)。
好吧,看来我在最初的问题上犯了一个错误.因此,这里有一些更正.答案仍然适用,因为当协议更改为HTTPS(SSL)时,第二个重定向会停止. 就我而言,我发生了多次重定向,并且浏览器不会遵循第二个重定向. 遵循第一个重定向,但返回错误. 我一直在阅读自动遵循包含重定向的JavaScript Ajax响应,但在我的情况下看起来似乎不是.第一个重定向将自动接角为浏览器,并且第一个重定向将返回,而无需跟随标题中的第二个重定向.我的问题是,我希望所有重定向自动遵循浏览器. 重定向是PHPCAS库的一部分.我有一个用PHP编写的API,在返回结果之前,每次都检查用户身份验证. 这是序列.要注意的主要内容是,浏览器在遵循1个重定向后返回第二个响应.我希望它一路走来,并在我呼叫localhost/example/api> 时返回最后一个响应. localhost/示例 调用localhost/example/api使用jquery.ajax() 响应1:loca
2 2024-01-21
编程技术问答社区
CAS AD LDAP 32错误
当我尝试使用CAS登录CA时,我正在看到这一点,而CAS正在使用LDAP对AD进行身份验证. SEVERE: Servlet.service() for servlet cas threw exception javax.naming.NameNotFoundException: [LDAP: error code 32 - 0000208D: NameErr: DSID-031001E5, problem 2001 (NO_OBJECT), data 0, best match of: '' ]; remaining name '/' at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3092) at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3013) at com.sun.jndi.ldap.LdapCtx.pro
6 2024-01-10
编程技术问答社区
派生类型必须与基类型的安全可访问性相匹配,或者在非常基本的情况下,可访问性较低。
构建每次我这样做时,我都会得到TypeLoadException: 类型" system.typeloadexception"的例外发生在jurassic.dll中,但在用户代码中没有处理 其他信息:按类型违反的继承安全规则:'jurassic.compiler.whitespaceToken'.派生类型必须匹配基本类型的安全可访问性,或者不太访问. 问题是WhiteSpaceToken是一个简单的类,因为它的基础是Token.因此,看起来例外实际上并未提供有关类名称的准确信息,并且错误可能是由其他代码引起的. 在这种情况下,我的理解接近0.我可能想象的唯一解释是您无法从便携式库中继承一个抽象类,但是我从未听说过这种限制. 有什么想法为什么会发生? P.S.根据注释中的要求添加有关代码结构的一些快速信息 令牌类是针对.NET 4,Silverlight 5,Windows 8和Windows Phone的便携式库中的公共抽象类.它仅适用于msco
14 2024-01-07
编程技术问答社区
安全透明方法X访问安全关键方法Y的尝试失败。
我有一个相当稳定的服务器应用程序版本,已在数十个客户中部署了近一年. 一个新客户最近设置了该应用程序,并收到以下错误: system.methodaccessexception:通过安全透明方法尝试 [someMethod]访问安全关键方法[某些hotermethod] 失败. somemethod和某些hothermethod都是我编写的组件中的方法,它们是针对.NET 4构建的,并且在Windows服务中运行.如果有所作为,则某些hotherMethod确实会引用针对.NET 2.0构建的第三方组件(ENTLIB 4.1)的类型.查看Entlib 4.1的代码,我确实看到他们同时使用SecurityTransparent和APTC属性,但这从未在其他客户端引起问题. 这些组件是从.NET 2.0 CLR升级的,但很久以前.此确切的代码正运行其他客户,而且我没有明确使用APTC属性,也不会在任何地方使用SecurityCritical属性. 这使我得出这样
12 2024-01-07
编程技术问答社区