パスワード変更プラグイン
作成日:2018年11月2日 | 更新日:2020年5月21日
ビルド:9801以降
パスワード変更を行うための開発用プラグインを任意で追加できる機能を実装しました。Password Manager Proからプラグインを通じて指定したプラットフォーム上のパスワード変更を実行できます。本ナレッジでは、パスワード変更プラグインに使用する実装クラスの作成手順をご案内します。
ステップ1 実装クラスの作成
1. 実装クラスを記述
RemotePasswordReset Interfaceを実装してJavaクラスを記述します。
public interface RemotePasswordReset
{
public boolean changeRemotePassword(Properties resetProps) throws Exception;
public String getErrorMessage() throws Exception;
public boolean verifyRemotePassword(Properties verifyProps) throws Exception;
public boolean isDeviceAvailable(Properties verifyProps) throws Exception;
}
// This class provides the methods to implement password reset plugin. You need to implement the interface
publicinterfaceRemotePasswordReset
{
/**
* Used to display the error message while doing the password reset and verification operations. The output gets reflected in audit trails.
* @return Error message, if password reset is successful, return null. Otherwise, return a proper error message.
*/
public boolean changeRemotePassword(Properties resetProps) throws Exception;
/** Actual function that will be called whenever "change remote password" functionality is triggered
*@param resetProps will contain all the details regarding the account for which password reset is triggered.
* @return Final output that will be sent to PMP server.
* {@value true} Success case - Allows the operation to proceed.
* {@value false} Failure case - Denies the operation to proceed.
**/public String getErrorMessage() throws Exception;
/*** Used to display the error message while doing the remote password reset and verification operations. The output gets reflected in audit trails.
* Return a proper error message.
*/public boolean verifyRemotePassword(Properties verifyProps) throws Exception;
/** This function will be called whenever "verify remote password" functionality is triggered.
*@param verifyProps will contain all the details regarding the account for which "verify remote password" was triggered.
*@return Final output that will be sent to PMP server.
*{@value true} Success case - Allows the operation to proceed.
*{@value false} Failure case - Denies the operation to proceed.
**/public boolean isDeviceAvailable(Properties verifyProps) throws Exception; }
/** This function will be called before "verify remote password" function to check the accessibility of the device for which verify password was triggered.
*@param verifyProps will contain all the details regarding the account for which verify remote password was triggered.
*@return Final output that will be sent to PMP server.
*{@value true} Success case - Allows the operation to proceed.
*{@value false} Failure case - Denies the operation to proceed.
**/
サンプルとして、Jire Service Deskのアカウントのパスワード変更に作成した実装クラスをこちらからご参照いただけます。
ステップ2 PMPに実装クラスをインストール
<PMP>\libにjarファイルを保存して、コンパイルを実行します。
コンパイルする際に、<PMP>\libフォルダー配下のAdventNetPassTrix.jarとjson_simple-1.1.jarを参照するように指定します。
Windowsの場合:
javac -d . -cp AdventNetPassTrix.jar;json_simple-1.1.jar; JiraServerResetImplementation.javaLinuxの場合:
javac -d . -cp AdventNetPassTrix.jar:json_simple-1.1.jar; JiraServerResetImplementation.java
※上記は、JiraResetImplementation.javaを作成した場合のコンパイル方法です。
☆Tips☆
下記のリストは、実装クラス作成に引数として使用できるリソースのプロパティの一覧です。
resetProps.get("RESOURCEID"); | リソースIDのLong オブジェクトを返します |
resetProps.get("ACCOUNTID"); | アカウントIDのLongオブジェクトを返します |
resetProps.get("OLDPASSWORD"); | アカウントの古いパスワードのStringオブジェクトを返します |
resetProps.get("NEWPASSWORD"); | アカウントの新しいパスワードのStringオブジェクトを返します |
resetProps.get("RESOURCENAME"); | リソース名のStringオブジェクトを返します |
resetProps.get("DNSNAME"); | リソースのDNS名のStringオブジェクトを返します |
resetProps.get("ACCOUNTNAME"); | アカウント名のStringオブジェクトを返します |
resetProps.get("OSTYPE"); | リソースのOS種別のStringオブジェクトを返します |
resetProps.get("NOTES"); | アカウントの詳細のStringオブジェクトを返します |
resetProps.get("LOGINNAME"); | パスワードを変更したユーザーログイン名のStringオブジェクトを返します |
resetProps.get("IPADDRESS"); | リソースのIPアドレスのStringオブジェクトを返します |
resetpresetPropsrops.get("RESOURCEDETAILS"); | リソースの他のすべての情報を返します |
ステップ3 PMP側の設定
1.新規リソース種別の作成
管理者でログイン後、[管理]->[リソース種別]からリソース名を追加します
2.パスワード変更プラグインの設定
管理者でログイン後、[管理]->[パスワード変更プラグイン]から[パスワード変更プラグインを追加]をクリックし、プラグイン名、実装クラスのパス、リソース種別を選択します。また、パスワード変更プラグインを使用するためには、他の管理者の承認が必要です。
以上