Tag: kerberos

保护这个关于在C / C ++中使用GSSAPI和SASL的非常有价值的文档

在C / C ++应用程序中,我一直在努力使用GSSAPI。 显然我不得不谷歌和研究了很多。 我发现的最有趣的文档之一是在Sun的旧网站上。 在甲骨文接pipeSun之后,旧的网站已经不存在了,但是不知何故这个信息是存在的。 http://docs.oracle.com/cd/E19253-01/816-4863/index.html令人担忧的是,在Oracle的文档中我找不到上面的url的任何链接。 内容还包括几个PDF文件,我很幸运地保存在我的笔记本电脑上。 上面的URL也对使用SASL和c / c ++有很好的指导。 内容引用了一些包含示例源代码的tar文件。 根据当前网站的内容,这个文件应该可以在以下urlfind: http : //www.sun.com/download/products.xml?id=41912db5但是不幸的是我现在无法在网站上find它们。 该内容是一个很好的开始,ac / c + +程序员开始GSSAPI / Kerberos / PAM / SASL 看着甲骨文现在的网站,我坚信这个内容目前被“意外”抛在后面,很快就会消失。 现在这里是我的问题,访问stackoverflow的奇妙黑客: 你能以某种方式将内容复制到某个地方,这样每个人都可以享受它的好处吗? 有人有我所指的焦油球副本吗? 你愿意分享吗? 我必须在哪里上传这些PDF,以便每个人都可以轻松获益? 我认为这些内容是非常宝贵的,我想不出任何其他的networking资源,因为这些关于在C / C ++中使用GSSAPI的详尽信息。 如果你能做些什么,请现在就做,因为我认为上面的url很快就会消失。 提前致以诚挚的感谢,我向你保证,其他人也会谢谢你。 编辑:在Oracle网站上寻找一些东西,我发现了其中一个PDF的链接,但有一个新的名字: Oracle Solaris开发者安全性如果您开始使用GSSAPI / SASL,那么肯定是引用的gemC ++

如何从使用Python的RESTful服务获取JSON数据?

使用Python从RESTful服务获取JSON数据是否有任何标准方法? 我需要使用Kerberos进行身份validation。 一些片段将有所帮助。

我应该在hadoop的每个动作之前调用ugi.checkTGTAndReloginFromKeytab()吗?

在我的服务器应用程序中,我从我的Java应用程序连接到Kerberos安全的Hadoop集群。 我正在使用各种组件,如HDFS文件系统,Oozie,Hive等。在应用程序启动时,我打电话 UserGroupInformation.loginUserFromKeytabAndReturnUGI( … ); 这将返回我UserGroupInformation实例,我保持它的应用程序的生命周期。 做特权行动时,我用ugi.doAs(action)启动它们。 这工作正常,但我想知道是否和何时更新UserGroupInformation Kerberos票? 我发现了一个方法UserGroupInformation.checkTGTAndReloginFromKeytab() ,它似乎在接近到期时进行票证续订。 我也发现这个方法正在被各种Hadoop工具调用,比如WebHdfsFileSystem 。 现在,如果我想要我的服务器应用程序(可能运行几个月甚至几年),永远不会遇到票证过期什么是最好的方法? 提供具体的问题: 我可以依赖他们在需要时调用checkTGTAndReloginFromKeytab的各种Hadoop客户端吗? 我应该在自己的代码中自己调用checkTGTAndReloginFromKeytab吗? 如果是这样,我应该在每次调用ugi.doAs(…)之前这样做,或者更确切地说,设置一个计时器并定期(多频繁地)调用它。

我如何解决Kerberos双跳问题?

我在Web应用程序中调用Web服务时遇到了一些麻烦,我希望这里有人能够提供帮助。 据我所知,这似乎与Kerberos 双跳问题有关 。 但是,如果是这样,我不知道该怎么做才能真正解决问题。 为了使事情更难,我没有适当的权限来更改Active Directory帐户,所以我需要知道要求更改时要求什么。 在我的情况下,我需要将凭据(集成Windows身份validation)从Web应用程序传递到后端Web服务,以便Web服务在适当的用户上下文下运行。 这是我的确切问题: 这工作 这不起作用 工作场景和非工作场景的唯一区别在于,工作场景在本地主机上运行应用程序(无论是开发人员的PC还是服务器上的问题),非工作的例子在另一台机器上运行。 这两种情况之间的代码是完全一样的。 我试过了 将SPN添加到为每个服务器运行应用程序池的域帐户setspn -a http/server1 DOMAIN\account 不同的模拟方法 using(…)删除模拟代码并执行Web服务调用作为应用程序池帐户。 这按预期工作。 有没有人有任何想法,我可以做什么,以解决这个问题?