Java认证与授权服务(JAAS)全面解析
在安全领域,我们常常关注如何保护终端用户免受外界威胁,例如默认沙箱保护用户免受恶意Java程序的侵害,数字签名确保用户数据的完整性,加密技术保障数据的机密性。然而,如何保护外界免受终端用户的潜在威胁呢?这正是Java认证与授权服务(JAAS)要解决的问题。
1. JAAS概述
JAAS基于可插拔架构提供了一个框架。它提供了一组抽象类,在运行时,每个程序会找到所需类的合适提供者。不过,这种可插拔架构并未内置于标准安全框架中。
一个启用JAAS的应用程序的工作流程如下:
1. 用户登录 :程序要求用户登录,获取用户登录对象。这在编程上是一个简单操作,涉及实例化 LoginContext 对象并调用其单个方法。但该方法调用时的具体操作可能非常复杂,由系统管理员决定。系统管理员负责设置一个文件,其中包含一个或多个指令,指示特定应用程序尝试让用户登录时会发生什么。这些指令以登录模块的形式呈现,用于验证用户身份,还有一系列选项来管理这些类的使用方式。这些类通常与操作系统交互,通过系统调用,使用Solaris的NIS或NIS +、Windows NT登录服务、LDAP服务器或平台上可用的其他认证系统来验证用户。
2. 执行方法调用 :程序执行方法调用( doAs() 或 doAsPrivileged() 方法),传入用户登录对象和代表该用户执行的代码。此方法与访问控制器的 doPrivileged() 方法非常相似,目的也类似。
超级会员免费看
订阅专栏 解锁全文
651

被折叠的 条评论
为什么被折叠?



