Kerberos Hadoop Java代码原理学习

缘起

一直被这个三头恶犬欺负,今天我们分析一下它们的实现机制。

一提到kerberos,就会想起来一些概念,keytab, principal, tgt, ticket, KDC, JAAS, subject, credential, UGI, GSS等,概念难懂,代码也很难理解。

kerberos本身的概念这里就不分析了,自行看介绍。主要分析下java代码层面的东西。


初识UGI

首先,这里有个文章不错,大体分析了一下UGI这个对象的一些重要方法。

https://steveloughran.gitbooks.io/kerberos_and_hadoop/content/sections/ugi.html

这里需要对照UGI源码分析。


下面的是一个辅助理解UGI中group如何获得的文章,当然只是辅助,因为只是片面的理解

http://www.cnblogs.com/zwCHAN/p/4686054.html


如果看了代码,就会知道里面很多LoginContext, Subject, LoginModule, Credential之类的对象,其实都是来自于java的JAAS框架,要理清楚头绪,就要看看JAAS庐山真面目

初识JAAS

下面给出2个JAAS代码框架的例子

例子1

http://blog.csdn.net/xiao_jun_0820/article/details/39375819

Java的安全机制

详细介绍请参考JAAS:灵活的Java安全机制

简单来说,用户首先使用LoginContext的接口进行登录验证。LoginContext可以配置使用不同的验证协议。验证通过后,用户得到一个subject,里面包含凭证,公私钥等。之后,在涉及到需要进行权限认证的地方(例如,资源访问,外部链接校验,协议访问等),使用doAs函数()代替直接执行。

这样,java的权限认证就和用户的业务逻辑分离了。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值