Application Server 对以下实体强制执行其验证和授权策略:
注:尽管用户和组是为整个 Application Server 指定的,但是每个应用程序都需要定义自己的角色。当封装和部署应用程序时,应用程序会指定用户/组和角色之间的映射,如下图所示。
用户是已在 Application Server 中定义的个人(或应用程序)标识。用户可以与组关联。Application Server 验证服务可以管理多个区域中的用户。
J2EE 组(或简称组)是按常见特性(例如职务或用户概要文件)进行分类的用户类别。例如,假定电子商务应用程序的用户属于 customer
组,但是大客户可以属于 preferred
组。将用户分组可以简化对用户量很大时的访问控制。
角色定义用户可以访问哪些应用程序和每个应用程序的哪些部分以及用户可以执行的操作。也就是说,角色决定了用户的授权级别。
例如,假定在人事应用程序中,所有雇员均可以访问电话号码和电子邮件地址,但只有管理人员才能访问薪水信息。该应用程序至少需要定义两个角色:employee
和 manager
;仅允许 manager
角色中的用户查看薪水信息。
角色与用户组的不同之处在于,角色在应用程序中定义功能,而用户组是以某一方式相关的一组用户。例如,假定在人事应用程序中有 full-time
、part-time
和 on-leave
几个组,但所有这些组中的用户仍是 employee
角色。
角色是在应用程序部署描述符中定义的。相反,组是针对整个服务器和区域而定义的。应用程序开发者或部署者在每个应用程序的部署描述符中将角色映射到一个或多个组。
区域(也称为安全策略域或安全域)是服务器定义和强制执行通用安全策略的范围。在实际应用中,区域是服务器存储用户和组信息的系统信息库。
Application Server 预先配置了三个区域:file
(初始默认区域)、certificate
和 admin-realm
。您还可以设置 ldap
、solaris
或自定义区域。应用程序可以在其部署描述符中指定要使用的区域。如果应用程序不指定区域,Application Server 将使用其默认区域。
在 file
区域中,服务器将用户凭证存储在本地名为 keyfile
的文件中。您可以使用管理控制台来管理 file
区域中的用户。有关更多信息,请参见管理 file 区域用户。
在 certificate
区域中,服务器将用户凭证存储在证书数据库中。使用 certificate
区域时,服务器结合使用证书和 HTTPS 协议来验证 Web 客户机。有关证书的更多信息,请参见证书和 SSL 简介。
admin-realm
也是一个 FileRealm
,它将管理员用户凭证存储在本地名为 admin-keyfile
的文件中。您可以使用管理控制台管理此区域中的用户,其方法与您管理 file
区域中的用户的方法相同。有关更多信息,请参见管理 file 区域用户。
在 ldap
区域中,服务器将从轻量目录访问协议 (LDAP) 服务器(例如 Sun Java System Directory Server)中获取用户凭证。LDAP 是一种协议,它使任何人都可以在网络(无论是公共 Internet 还是企业内联网)中查找组织、个人和其他资源(例如文件和设备)。有关管理 ldap
区域中的用户和组的信息,请参阅您的 LDAP 服务器文档。
在 solaris
区域中,服务器将从 Solaris 操作系统中获取用户凭证。Solaris 9 OS 和更高版本支持此区域。有关管理 solaris
区域中的用户和组的信息,请参阅您的 Solaris 文档。
自定义区域是用户凭证的任何其他系统信息库,例如关系型数据库或第三方组件。有关更多信息,请参见创建自定义区域或 Developer’s Guide 的 Securing Applications 一章。