自動登入到 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`
)。