Sun Java System Messaging Server 6.3 管理指南

5.2 登录要求

您可以控制允许用户登录到 POP、IMAP 或 HTTP 服务以检索邮件的方式。可以允许基于密码的登录(适用于所有服务)和基于证书的登录(适用于 IMAP 或 HTTP 服务)。本节提供了背景信息;有关完成这些设置所需的步骤,请参见5.5 配置 POP 服务5.6 配置 IMAP 服务5.7 配置 HTTP 服务。此外,您可以指定用于 POP 登录的有效登录分隔符。本节包含以下几个部分:

Procedure设置 POP 客户端的登录分隔符

某些邮件客户端不接受 @ 作为 登录分隔符(即,类似 uid@domain 地址中的 @)。这些客户端包括 Netscape Messenger 4.76、Netscape Messenger 6.0 和 Windows 2000 中的 Microsoft Outlook Express。解决方法如下:

  1. 使用以下命令使 + 成为有效的分隔符:

    configutil -o service.loginseparator -v "@+"

  2. 通知 POP 客户端用户,登录时应将 +(而不是 @)作为登录分隔符。

5.2.1 允许不使用域名登录

典型登录需要用户输入用户 ID,后跟分隔符和域名,然后是密码。但是,在安装过程中指定的默认域中的用户可以直接登录,而不必输入域名或分隔符。

要允许其他域的用户只输入用户 ID 即可登录(即无需使用域名和分隔符),请将 sasl.default.ldap.searchfordomain 设置为 0。请注意,用户 ID 对整个目录树而言必须是唯一的。如果不唯一,则不使用域名登录将无法工作。

您可能希望修改用户登录时必须输入的属性。例如,如果要允许用户使用电话号码 (telephoneNumber) 或员工编号 (employeeID) 登录,请更改由 configutil 参数 sasl.default.ldap.searchfilter 定义的 LDAP 搜索。此参数是基于域的属性 inetDomainSearchFilter 的全局默认设置,并且使用与该属性相同的语法。

有关这些参数的详细信息,请参见《Sun Java System Messaging Server 6.3 Administration Reference》

5.2.2 基于密码的登录

在典型的邮件服务安装中,用户通过在其 POP、IMAP 或 HTTP 邮箱客户端中输入密码来访问邮箱。。客户端将密码发送给服务器,服务器使用该密码来验证用户。对用户进行验证后,服务器将根据访问控制规则来决定是否授权用户访问存储在该服务器中的特定邮箱。

如果允许密码登录,用户可以通过输入密码访问 POP、IMAP 或 HTTP。(基于密码或基于 SSL 的登录是用于 POP 服务的唯一验证方法。)密码存储在 LDAP 目录中。目录策略将决定有效的密码策略(例如最小长度)。

如果不允许对 IMAP 或 HTTP 服务进行密码登录,则不允许基于密码的验证。这时要求用户使用基于证书的登录(如下节所述)。

为了增加 IMAP 和 HTTP 服务的密码传输的安全性,您可以要求在将密码发送给服务器之前先对其加密。您可以通过选择用于登录的最小加密算法长度要求进行此操作。

如果将客户端配置为要求加密的密钥长度大于服务器支持的最大长度,或者将服务器配置为要求加密的密钥长度大于客户端支持的长度,则无法进行基于密码的登录。有关设置服务器以支持各种加密算法和密钥长度的信息,请参见23.5.2 启用 SSL 并选择加密算法

5.2.3 基于证书的登录

除了基于密码的验证之外,Sun Java System 服务器还支持通过检查用户的数字证书对其进行验证。客户端与服务器建立 SSL 会话时将提供用户的证书而不是密码。如果证书有效,则认为用户经过验证。

有关设置 Messaging Server 以使基于证书的用户可以登录到 IMAP 或 HTTP 服务的说明,请参见23.5.3 设置基于证书的登录

如果您已执行设置基于证书的登录所需的任务,将同时支持基于密码和基于证书的登录。这时,如果客户端建立 SSL 会话并提供证书,将使用基于证书的登录。如果客户端不使用 SSL 或不提供客户端证书,它将发送密码。