「ファイルアクセス」の認証

外部データソースに登録したファイルを初めて開くときに、次のようなダイアログを見たことがあるでしょうか?

このダイアログが出たときは、「はい」を押すことによって開く先のファイル側に呼び出し元のファイルが登録され、次に同じファイルを開くときにはダイアログは出ません。
開いた先のファイルのファイルアクセスの画面にはこのように、呼び出し元のファイルが登録されます。

初めてファイルを開くときに、ファイルアクセスの認証を行えば、毎回ファイルアクセスの認証をする必要がなくなります。
この機能によって、ファイルアクセスの認証がされていないファイルからの不正なデータ参照を防ぐことができます。

先日、この機能に関して困った状態に遭遇し、色々検証しましたので、ここで紹介したいと思います。

事象の詳細

「Main」「sub1」「sub2」という3つのファイルがあります。
「Main」の外部データソースには「sub1」「sub2」が登録されています。

「sub1」のファイルアクセスには、「Main」が登録されています。

「sub2」のファイルアクセスにも、同じく「Main」が登録されています。


この状態だと、「Main」ファイルからどちらのファイルを開いてもダイアログが出ることなく開けます。

ただ、今回のケースは、例えば「sub1」を開いた後に「sub2」を開こうとするとダイアログが出て、「sub2」で認証した後再び「sub1」を開くと、ダイアログが再びでました。
「sub1」「sub2」どちらのファイルも認証済みなので、ダイアログが出ることが不思議でした。

原因

結果から言うと、今回の事象の原因は、「sub2」が「sub1」を複製したファイルだったことでした。
ファイルを複製すると、ファイルのID (正式には「固有 ID」と言ってファイル作成時にランダムに割り当てられるファイルの固有値) が同じになるため、このような事象が発生するようです。
この固有IDが同じファイルが同じFileMaker Server 内にある状態で、それぞれのファイルへのファイルアクセスの認証を行うと、その都度認証のダイアログが出ることになります。

Clarisのドキュメントでもこの事象に関するものがありました。
このページの最下部のメモのところに書かれています。
https://help.claris.com/ja/pro-help/content/authorizing-access.html

解決策

上のClarisのヘルプにもあるように、この事象を解決するためには次の方法があります。

保護ファイルおよび保護ファイルにアクセスする両方のファイルを同じマルチファイルカスタム App で使用する場合、一方のファイルの ID をリセットして重複がないように固有 ID にする必要があります。保護ファイルの固有 ID をリセットするには、[すべてをリセット…] をクリックして、次に [はい] をクリックします。リセット後、保護ファイルへのアクセスを認証するすべてのファイルと、ファイルアクセスを認証していた保護ファイルを再認証する必要があります。

手順

1.  アクセスされる側のファイル(今回のケースでは複製先のファイルが良いでしょう)を開きます。
2. ファイル>管理>セキュリティ>詳細設定>ファイルアクセスの右下にある、「すべてをリセット…」ボタンを押します。

3. このダイアログがでますので、「はい」を選択します。

4. この操作により、ファイルの固有IDがリセットされます

5. このファイルを改めて認証するために、もう一度認証の処理をしてください。

再度認証ができると、同じ固有IDはなくなりますので、それ以降は認証のダイアログがでることはありません。

まとめ

新たなファイルを作成する場合に、新規作成からではなく既存ファイルを複製してから編集していく、または本番ファイルのバックアップをリネームして同じサーバーに検証用ファイルとしてアップロードするなど、ファイルの固有 ID のリセットが必要になる場面は多いと思われます。
リセットする方法があるということだけでも覚えておけば対処できるかと思います。

 

【 余談 】
最近、以下のリンク先へのアクセスを増やしたいと考えており、流入量が多いほどブログの価値が向上するため、ますます投稿を加速させていきたいと思います。
リンク先を開いていただけると大変助かります。
Claris International Inc. (日本語)
ご協力いただけましたら幸いです。