Edited at
FileMakerDay 23

【FileMaker】ユーザマスタからログインする定番な方法

More than 1 year has passed since last update.

かどうかわからないけれど、ユーザマスタで管理している個人情報をベースにFileMakerのアプリにログインする方法がどんだけ検索しても出てこないので、これしなかいんだろう、と思ってます。

FileMakerにはアクセス権限を管理してログインとアプリ内でのアクションを制限できますが、これってそのアプリで管理しているユーザ情報と一緒に管理するのって煩雑ですよね。

例えば、社員管理アプリとして、社員情報を社員マスタに登録して、さらにそのひとのアカウントをFileMakerのセキュリティ登録をする、という2段階を踏まないとその人は社員管理アプリを使えないことになります。

わー、めんどくさ。

そして、どちらかを登録し忘れたら終わりです。

わー、サイアク。

なので、社員マスタから直接セキュリティ登録をしてあげます。

結論から言うと、

この画面↓は、単純に言っちゃうと

スクリプトでいう、この辺でコントロールできます。

あぁ、これに気づいたときの脱力感と言ったら!!

ということで、以下の仕掛けを作っていきます。

社員マスタに登録してあるアカウント情報をFileMakerの使用するファイルのセキュリティ管理に反映し、

セキュリティ設定をしたFileMakerファイルを開くときにそのユーザマスタ(とFMのセキュリティ管理)に登録したアカウントでログインします。

まずは、ユーザマスタをば。



ユーザマスタというくらいなのでもっとたくさん項目はありますが、ログインで必要なのはアカウントID、パスワード、アカウントの有効無効情報くらいで足ります。

有効無効はトリガーになるだけなので、別になんでもいいのですが、FileMakerっぽく値一覧で。

レイアウトにはいろいろ散りばめてありますが、ログインするためだけの仕掛けは、ここだけです。



「有効無効」の値一覧で「有効」が選択されたら、スクリプトトリガでセキュリティ管理に新規追加してセキュリティ権限を割り振ります。

ここではアクセス権セットを適当に設定していますが、社員の部署やランクによって設定する分岐を入れるとさらに詳細なアクセス権のコントロールができます。

ログイン対象となるファイルのオプションでは、「次のアカウントを使用してログイン」のところは使用しません。



また、最初にメニュー画面が出てきてほしいときは、ファイルを開いたときに表示する画面を指定しておくと便利です。

おまけです。

パスワードを変更するときは、パスワード入力欄にカーソルが来た時に旧パスワードをグローバル変数に一時退避させておき、

パスワード変更ボタンが押されたら実際にセキュリティ管理で新旧パスワードを指定して実行します。

ちなみに、社員が退社してもう管理しなくなった時は、アカウントと社員マスタのレコードを削除することをお忘れなく。

こんな感じのことって、だれでもどんなアプリでもやることだから、アカウント設定パッケージみたいにワンクリックで設定できればめんどくさくないのになぁといつも思います。

例えば、使用するアカウント情報のテーブルとフィールドをぽちぽち設定したら出来上がりとかね。

毎回同じことを開発するのがめんどくさいので、ここに残しておきます。


続編情報

2018/1/23

その後、ログインアカウント情報をレイアウトで表示するやり方を以下で公開しています。

【FileMaker】続・ユーザマスタからログインする定番な方法〜ログインユーザを表示したい

ご参考までにどうぞ。