创建区域

Application Server 预先配置了三个区域:filecertificateadmin-realm。您还可以创建 ldapsolaris 和自定义区域。通常,一个服务器上会有每种类型的一个区域,但在 Application Server 上有两个 file 区域:fileadmin-realm。这两个区域类型相同但用于两种不同的目的。您的系统也可以为每个虚拟服务器配备不同的证书数据库。

要创建安全区域,请执行以下步骤。

  1. 在管理控制台的树组件中,展开“配置”节点。
  2. 展开要配置的实例:
    1. 要配置特定的实例,请展开该实例的配置节点。例如,对于默认实例 server,请展开 server-config 节点。
    2. 要为所有实例配置默认设置,请展开 default-config 节点。
  3. 展开“安全性”节点。
  4. 选择“区域”节点。
  5. 在“区域”页面中,单击“新建”。
  6. 将显示“创建区域”页面。

  7. 在“名称”字段中为领域输入名称。
  8. 指定要创建的区域的类名。表 0-35 显示了有效选项:

    表 0-35  区域类名的有效值 

    区域名

    类名

    file

    com.sun.enterprise.security.auth.realm.file.FileRealm

    证书

    com.sun.enterprise.security.auth.realm.certificate.CertificateRealm

    ldap

    com.sun.enterprise.security.auth.realm.ldap.LDAPRealm

    solaris

    com.sun.enterprise.security.auth.realm.solaris.SolarisRealm

    custom

    登录区域类的名称

  9. 添加区域必需的属性和任何需要的可选属性。
  10. 要添加属性,请执行以下操作:

    1. 单击“添加属性”。
    2. 在“名称”字段中,输入属性的名称。
    3. 有关 file 区域属性的说明,请参见编辑 file 和 admin-realm 区域
    4. 有关 certificate 区域属性的说明,请参见编辑 certificate 区域
    5. 有关 ldap 区域属性的说明,请参见创建 ldap 区域
    6. 有关 solaris 区域属性的说明,请参见创建 solaris 区域
    7. 有关自定义区域属性的说明,请参见创建自定义区域
    8. 在“值”字段中输入属性的值。
  11. 单击“确定”。

等效的 asadmin 命令为:create-auth-realm

创建 ldap 区域

ldap 区域使用来自 LDAP 服务器的信息执行验证。用户信息包括用户名、密码和用户所属的组。要使用 LDAP 区域,必须已在 LDAP 目录中定义了用户和组。

要创建 LDAP 区域,请按照创建区域中的步骤添加新区域,然后添加表 0-36 中所示的属性。

表 0-36  ldap 区域的必需属性 

属性名称

说明

目录

目录服务器的 LDAP URL。

LDAP URL 的格式为:ldap://主机名:端口
例如,ldap://myldap.foo.com:389

base-dn

用户数据位置的基本独特名称 (DN),由于将执行树范围的搜索,因此该用户数据的位置可以是高于用户数据的任何级别。搜索树越小,性能越好。

搜索的域,例如:dc=siliconvalley,dc=BayArea,dc=sun,dc=com

jaas-context

要用于此区域的登录模块类型。

必须为 ldapRealm

表 0-37 显示了 ldap 区域的可选属性:

表 0-37  ldap 区域的可选属性 

属性名称

说明

默认值

search-filter

用于查找用户的搜索过滤器。

uid=%s%s 可扩展为主题名称)。

group-base-dn

组数据位置的基本 DN。

base-dn 相同,但如果需要也可以将其优化。

group-search-filter

用于查找用户的组成员关系的搜索过滤器。

uniquemember=%d%d 扩展为用户元素 DN)。

group-target

包含组名称条目的 LDAP 属性名。

CN

search-bind-dn

用于向目录验证以执行搜索过滤器檎业目裳 DN。对目录的要求只是不允许进行匿名搜索。

 

search-bind-password

search-bind-dn 中给定的 DN 的 LDAP 密码。

 

示例

例如,假定在 LDAP 目录中定义了一个 LDAP 用户 Joe Java,如下所示:

uid=jjava,ou=People,dc=acme,dc=com
uid=jjava
givenName=joe
objectClass=top
objectClass=person
objectClass=organizationalPerson
objectClass=inetorgperson
sn=java
cn=Joe Java

创建或编辑 ldap 区域时,您可以使用示例代码输入表 0-38 中所示的值。

表 0-38  ldap 区域示例值 

属性名称

属性值

目录

服务器的 LDAP URL,例如:ldap://ldap.acme.com:389

base-dn

ou=People,dc=acme,dc=com

可以向更高层次进行搜索(例如 dc=acme,dc=com),但搜索将遍历树的更大部分,从而导致性能降低。

jaas-context

ldapRealm

创建 solaris 区域

solaris 区域从基础 Solaris 用户数据库(由系统配置确定)获取用户和组信息。solaris 区域调用基础 PAM 基础结构以用于验证。如果已配置的 PAM 模块需要超级用户权限,则域必须以超级用户身份运行才能使用该区域。有关详细信息,请参见安全服务的 Solaris 文档。

solaris 区域有一个必需的属性 jaas-context,该属性指定要使用的登录模块的类型。属性值必须为 solarisRealm

:只有 Solaris 9 或更高版本才支持 solaris 区域。

创建自定义区域

除了四个内置区域以外,您还可以创建以其他方式存储用户数据(例如存储在关系型数据库中)的自定义区域。自定义区域的开发不在本文档的讨论范围之内。有关更多信息,请参见 Application Server Developer's GuideSecuring Applications 一章。

作为管理员,您需要了解的主要事项是:自定义区域是由源自 Java 验证和授权服务 (JAAS) 软件包的类(称为 LoginModule)实现的。

要配置 Application Server 以使用自定义区域,请执行以下步骤:

  1. 按照创建区域中概述的过程,输入自定义区域的名称和 LoginModule 类的名称。自定义区域可以使用任何具有唯一性的名称,例如 myCustomRealm
  2. 添加表 0-39 所示的属性:

    表 0-39  自定义区域的有效属性 

    属性名称

    属性值

    jaas-context

    LoginModule 类名,例如 simpleCustomRealm

    auth-type

    区域的说明,例如“简单示例自定义区域”。

  3. 单击“确定”。
  4. 编辑域的登录配置文件 install_dir/domains/domain_name/config/login.conf,并在文件末尾添加 JAAS LoginModule 的全限定类名,如下所示:
  5. realmName {
    fully-qualified-LoginModule-classname required;
    };

    例如,

    myCustomRealm {
    com.foo.bar.security.customrealm.simpleCustomLoginModule required;
    };
  6. LoginModule 类和所有依赖类复制到 install_dir/domains/domain_name/lib/classes 目录中。
  7. 如果控制台中显示“需要重新启动”,请重新启动服务器。
  8. 确保已正确装入区域。
  9. 检查 install_dir/domains/domain_name/logs/server.log 以确保服务器已装入该区域。服务器应调用区域的 init() 方法。

另请参见:


法律通告