Sun Java System Web Proxy Server 4.0.8 管理指南

为基于文件的验证创建 ACL

Proxy Server 支持使用基于文件的验证数据库,这些数据库在平面文件中以文本形式存储了用户和组信息。ACL 框架被设计为可以使用文件验证数据库。


注 –

Proxy Server 不支持动态平面文件。平面文件数据库将在服务器启动时装入。对这些文件所做的任何更改仅在重新启动服务器时才能生效。


本节介绍如何基于文件验证和摘要验证来为目录服务创建 ACL。

ACL 条目可以使用 database 关键字来引用用户数据库。例如:

acl "default";    authenticate (user) {...    database="myfile";...};

server-root/userdb/dbswitch.conf 文件包含一个用于定义文件验证数据库及其配置的条目。例如:

directory myfiledb filemyfiledb:syntax keyfilemyfiledb:keyfile 
/path/to/config/keyfile

下表列出了文件验证数据库支持的参数。

表 8–2 文件验证数据库支持的参数

参数 

描述 

syntax

(可选)值为 keyfiledigest。如果未指定,则默认为 keyfile

keyfile

syntax=keyfile 时需要)包含用户数据的文件的路径。

digestfile

syntax=digest 时需要)包含摘要验证用户数据的文件的路径。


注意 – 注意 –

文件验证数据库文件中每行的最大长度为 255。如果任一行超出了此限制,服务器将无法启动,并在日志文件中记录错误。


请确保在尝试使用基于文件的验证数据库设置 ACL 之前,已经配置了基于文件的验证目录服务。有关更多信息,请参见配置目录服务

为基于文件验证的目录服务创建 ACL

Procedure为基于文件验证的目录服务创建 ACL

  1. 访问服务器实例的 Server Manager。

  2. 在 "Preferences" 选项卡上,单击 "Administer Access Control" 链接。

  3. 从下拉式列表中选择 ACL 文件,然后单击 "Edit"。

  4. 在 "Access Control Rules For" 页面中,单击要编辑的 ACL 条目的 "Users/Groups" 链接。

    "User/Group" 页面将显示在下面的框架中。

  5. 从 "Authentication Database" 下的下拉式列表中,指定密钥文件数据库。

  6. 单击 "Update",然后单击 "Submit" 保存更改。

    当您按照基于密钥文件的文件验证数据库设置 ACL 时,dbswitch.conf 文件使用相应的 ACL 条目进行更新,如下面给出的样例条目所示:


    version 3.0;acl "default";authenticate (user) {prompt = 
    "Sun Java System Proxy Server 4.0";database = "mykeyfile";
    method = "basic";};deny (all) user = "anyone";
    allow (all) user = "all";

为基于摘要验证的目录服务创建 ACL

文件验证数据库还支持适用于摘要验证且符合 RFC 2617 的文件格式。将存储基于密码和领域的散列,不会保留明文密码。

Procedure为基于摘要验证的目录创建 ACL

  1. 访问服务器实例的 Server Manager。

  2. 在 "Preferences" 选项卡上,单击 "Administer Access Control" 链接。

  3. 从下拉式列表中选择 ACL 文件,然后单击 "Edit"。

  4. 在 "Access Control Rules For" 页面中,单击要编辑的 ACL 的 "Users/Groups" 链接。

    "User/Group" 页面将显示在下面的框架中。

  5. 从 "Authentication Database" 下的下拉式列表中,指定摘要数据库。

  6. 单击 "Update",然后单击 "Submit" 保存更改。

    当您按照基于摘要验证的文件验证数据库设置 ACL 时,dbswitch.conf 文件使用相应的 ACL 条目进行更新,如下面给出的样例条目所示。


    version 3.0;acl "default";authenticate (user) {prompt = "filerealm";
    database = "mydigestfile";method = "digest";}; deny (all) user = "anyone";
    allow (all) user = "all";