自动登录到 Plesk
自动登录 Plesk 对于整合来说很有用,因此已经登录到其它系统的客户无需第二次登录就可以访问 Plesk。
若要实现自动登录,您需要有一个包含 XML API 请求的整合脚本,以便为一次性URL 创建一个会话令牌。该脚本将使用包含以下内容之一的 URL 将用户登录到Plesk:
- (推荐)会话令牌
- (出于安全原因不推荐)用户登录和密码
使用会话令牌自动登录到Plesk
要使用会话令牌配置自动登录,请如下操作:
-
设置整合脚本以创建会话令牌。为此,请使用
create_session
节点发送一个 XML API 请求,例如:<packet version="1.6.9.1"> <server> <create_session> <login>admin</login> <data> <user_ip>192.0.2.1</user_ip> <source_server></source_server> </data> </create_session> </server> </packet>
以下参数必须包含您的值:
-
登录名
是指您需要为其创建会话的 Plesk 用户的登录名。 -
user_ip
是用户的纯文本或以 base64 编码 (for example,MTkyLjAuMi4x
)的 IP 地址。 - (备选)``source_server``是以 base64 编码发送请求的计算机的主机名。
注解:
create_session
操作适用于 Plesk 管理员、客户和代理商。Plesk 管理员可以为自己、代理商和客户创建会话令牌;代理商只能为自己和其客户创建;客户只能为自己创建。取代直接发送 XML API请求,您可以将其插入到 XML 文件中通过 curl 进行发送,例如:
curl –kLi -H "Content-Type: text/xml" -H "HTTP_AUTH_LOGIN: admin" -H "HTTP_AUTH_PASSWD: password" -H "HTTP_PRETTY_PRINT: TRUE" -d @request.xml https:<server-hostname-or-ip>/enterprise/control/agent.php
其中
-
admin
和密码
是 Plesk 管理员用于登录 Plesk 服务器的验证凭据。 -
request.xml
是一个XML文件,其中包含一个创建会话令牌的 XML API 请求(例如,上面所示的请求)。 -
server-hostname-or-ip
是要为其创建会话令牌的 Plesk 服务器的主机名或 IP 地址。
Plesk XML API 将会创建一个会话令牌,并在响应中将其发送,例如:
<?xml version="1.0" encoding="UTF-8"?> <packet version="1.6.9.1"> <server> <create_session> <result> <status>ok</status> <id>df9d386ee5ef13dbcd583c1f616857a2</id> </result> </create_session> </server> </packet>
id
标签包含一个会话令牌(示例中的df9d386ee5ef13dbcd583c1f616857a2
)。脚本将在用于登录的一次性 URL 中使用此令牌。 -
-
该脚本将把用户的浏览器重定向到``rsession_init.php``,用户将登录到Plesk。用于登录的一次性 URL 的模式如下:
https://<server-hostname-or-ip>:8443/enterprise/rsession_init.php?PLESKSESSID=<session_token>&success_redirect_url=<success_redirect_url>&failure_redirect_url=<failure_redirect_url>
其中
-
<server-hostname-or-ip>
是已为其创建会话令牌的服务器的主机名或IP地址。 -
<session_token>
是已创建的会话令牌。
您还可以指定以下可选参数:
-
<success_redirect_url>
是在成功登录后,浏览器将被重定向到的 URL。 -
<failure_redirect_url>
是在 Plesk 会话过期或用户被注销后,浏览器将被重定向到的 URL。 -
<locale_id>
是登录时将使用的区域设置的名称(如de-DE`
)。
用于登录的 URL 可以是如下的模式:
https://192.0.2.1:8443/enterprise/rsession_init.php?PLESKSESSID=df9d386ee5ef13dbcd583c1f616857a2&success_redirect_url=/admin/customer/list
注解: 我们建议您在``success_redirect_url``和``failure_redirect_url`` 参数中使用相对URL(以``/
开始),例如:
/admin/customer/list``。要重定向到不同于 Plesk 的主机名,您需要在参数(例如example.com
)和panel.ini``文件中的``trustedRedirectHosts
设置中使用绝对 URL(请参见下一步)。 -
-
如果您使用
success_redirect_url
和/或failure_redirect_url
参数设置自动登录 Plesk(此等参数会实现重定向到不同于 Plesk 的主机名并带有绝对 URL),请保护 Plesk 服务器免受开放重定向。为此,请在panel.ini
文件中添加以下条目:[security] trustedRedirectHosts = hostname1,hostname2
其中
hostname1
和hostname2
是您允许通过success_redirect_url
和failure_redirect_url
参数进行 URL 重定向的可信主机名。
使用验证凭据自动登录 Plesk
您还可以配置自动登录而不创建会话令牌:通过在 URL 中以参数形式传递用户登录名和密码。出于安全原因,我们不推荐采用这种方法。
若您仍然想使用此方式,用于登录的 URL 将具有以下模式:
https://<server-hostname-or-ip>:8443/login_up.php3?login_name=<login>&passwd=<password>&success_redirect_url=<success_redirect_url>&failure_redirect_url=<failure_redirect_url>
其中
-
<server-hostname-or-ip>
是已为其创建会话令牌的服务器的主机名或IP地址。 -
<login>
和<password>
分别是用户的登录名和密码。
您还可以指定以下可选参数:
-
<success_redirect_url>
是在成功登录后,浏览器将被重定向到的 URL。 -
<failure_redirect_url>
是在 Plesk 会话过期或用户被注销后,浏览器将被重定向到的 URL。 -
<locale_id>
是登录时将使用的区域设置的名称(如de-DE`
)。