当ブログに掲載しているサンプルは、すべて利用者の自己責任とします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。
記事そのもののリンクについてはご自由に行っていただいてよいです。
xxのようなサンプルを作って欲しいとかxxxの作り方を教えて欲しいというお問い合わせには応じていません。
このようなお問い合わせは、株式会社エフまでご一報ください。

2020年3月17日火曜日

パスワードの変更をプログラムで行ってみようをNomadでやってみた!

皆さん、こんにちは。

前回、前々回とパスワードの変更についてみてきました。
HCL Masterの小野さんがNomadでパスワードの変更にチャレンジしてくださいました。
というのは前回の記事で紹介しました。
残念ながら、実現には至らなかったようですが・・・

しかし、「諦めたらそこで試合終了です!」
私は決してあきらめない!

ということで、私もチャレンジしてみました。

小野さんが苦心されていたのは、IDファイルの場所ですね。
Notesクライアントの場合は、WindowsにしろMacにしろ、自由にフォルダの中を探れるので問題ないですがスマホやタブレットの場合はそうはいかないでしょう。

ということで、フォルダを探せないのであれば、あたりを付けてしまおう!
ということで考えてみました。

通常、ノーツのユーザーIDは「user.id」というファイル名であろうということ。
また、ノーツのユーザーIDは、Notesのデータディレクトリに保存されているであろうということ。

これらは、notes.iniに書かれています。
ユーザーIDは「KeyFileName」、データディレクトリは「Directory」という行に書かれています。
これをなんとか取得できないか?取得できれば、IDファイルの居場所を突き止められるのではないか?
と考えてみました。
早速やってみましょう。

環境変数の値を取得する方法は、
環境変数を色々試してみた(2)値の取得
に書いてありますので、参考にしてください。

実行結果はこちらです(Directoryのみ)
Andoridでの環境変数の取得結果

素晴らしい!見事に取得できました。
「KeyFileName」の取得結果は「user.id」になっていました。想像通りですね。
後はこの2つを"/"で連結すれば、IDファイルのフルパスの出来上がりです。

パスワードの変更をプログラムで行ってみよう
で紹介したサンプルプログラムのうち、最初のダイアログ部分をバッサリ消して、IDファイルのパスは上で紹介した環境変数の取得に置き換えれば、完成です。
簡単ですよね。

さて、その実行結果がこちらです。
Nomadでのパスワード入力画面

新旧のパスワードを入力して、[OK]をタップすると・・・

パスワードの変更に成功!

はい。見事にパスワードの変更に成功したようです。
ちなみに、変更前後のIDファイルをNotes DBに登録しているので見てみましょう。
Notesクライアントで確認してみた

ちゃんとパスワードが格納された文書ができています!

「パスワードの変更」というアクションはNomadに用意されているのですが、
なぜか私のNomadでは実行するとNomadが終了してしまいます(汗)
なので、こちらを使って変更するようにしています。
使う必要はあまりないのですが、一応できましたよ!

というご報告です。


ちなみに、先日告知したNomadのID切り替えは今回の話が発端になっています。
一つの記事にすると長くなるのと、ややこしくなりそうだったのと、話題からずれてしまうなどの懸念事項があって、分割しました。





それでは今日はこの辺で・・・








Notes/Dominoで困ったことがあれば、弊社にお問い合わせください。
HCL Masterの私が承ります!
お問い合わせはこちらから→Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: