Notesのアクセスロータスノーツアプリケーションのヒントを防ぐ
我々は奇妙な要求があったとき我々は顧客のための新しいウェブサイトを開発していた - 彼らはノートは、アプリケーションに全くアクセスできませたかったのです。 彼らは、ユーザーがWebブラウザを介してアプリケーションにアクセスするように強制したかった。 通常は、少なくとも管理者アクセス権のいくつかの種類には、Notesを介して起こるでしょうが、それはこの場合であっても、思っていませんでした。 どのように我々は、この要件を満たしましたか?
我々が指摘しておきますまず最初に、経験豊富なLotus Notesユーザーが何かを回避する方法を見つけることですので、ノートへのアプリケーションが100%にアクセスできないようにすることは非常に困難です。 しかし、これらのヒントは非常に困難なノートを介してアプリケーションにアクセスするために作成し、ノートを介してアプリケーションにアクセスするユーザーの95%以上(中間の経験レベルに初心者)を停止します。
我々が最初に行ったことは、ユーザーができるだけ多くのACLに制限されていたことを確認するためだった。 これにより、ユーザーはそれらを我々が意図しない方法でデータにアクセスできるようになる任意のビューまたはエージェントを作成できなかったことを意味します。
我々が行った二つ目は、Notesクライアントから必要ありませんでしたすべての設計要素を非表示にしました。 いくつかの設計要素は、依然としてノート(スケジュールされたエージェントと特定のルックアップのようなものの場合)に表示されることではなく、すべてのフォームおよび他のほとんどの設計要素がLotus Notesから隠された必要としていました。 設計要素のリストを見たときにこの設定は、設計要素のプロパティで制御されます。
ノーツクライアントのビューを開くため...メニューへ|いないすべてのビューはNotesから非表示にすることができるので、それは人々がビューを使用できることを意味します。 ...]メニューオプションへ|しかし、ビューの動作を制御する方法があります。 あなたのローカルアドレス帳のようなノートが付属してデータベース内のアクションでこのトリックを見ることができます。 あなたは隠されたビューにデータベースを開くためのメニューを使用する場合、データベースはまだ標準的なフレームで開きます。 これは、我々は、このアプリケーションで使用されているトリックです。
このトリックを複製するには、フレームを作成します。 左側のフレームには、ページの設計要素(詳細は後述します)です。 右側のフレームには、NotesViewのフレーム名を付ける必要があります。 それが鍵です - フレーム名を指定します。 フレームの内容は、データベースのデフォルトビューにする必要があります。 フレームセットを保存し、データベースは、Lotus Notesクライアントで開いたときに開くには、このフレームを設定します。 ユーザーがメニューを介してデータベースを開いた場合は、ノート(これは空白なしでそのように綴られている必要があります)、そのフレーム名を認識し、ユーザーが右側のフレームに望んビューでそのフレームセットを開きます。
しかし、ビューがまだ開いているので、どのようには、Lotus Notesへのアクセスを防ぐのですか? 我々は右側のフレームがそのように命名されるべきであると述べた。 我々は、フレームのサイズについては何も指定しませんでした。 だから、右側のフレーム1ピクセルの幅を作成し、サイズ変更を許可しないように設定します。 その後、相対的にもサイズ変更を許可しないように、左側のフレームの幅を設定します。 Notesクライアントが右側のフレームに、そのビューを開きますが、ユーザーはそれを見ることができなくなり、フレームのサイズを変更することはできません。 ユーザーが別のビューに切り替えた場合、そのビューが右側のフレーム(左側のフレームがNotesViewのデフォルトのターゲット値を持つことを確認してください)で開きます。
そのセットアップと、ユーザーはビューを使用してデータベースを開くことができなくなります|へ移動...]メニューオプション - 彼らは選択何にかかわらず、ビューには、1ピクセル幅の右側のフレームで開きます。 左フレーム内のページは、アプリケーションがLotus Notesクライアントからアクセスすることはできませんという命令を含める必要があります。
次に、データベースのPostOpenイベントに変更しました。 これは、データベース·リソース、[データベーススクリプトの下で見つけることができます。 私たちは、式の言語コードを実行するには、このイベントを変更し、現在のデータベースサーバーとファイル名を確認しました。 それは正しくありませんでした場合、データベースは閉じていました:
@(@のサブセット(@ dbnameにする場合、1)= "CN =生産/ O = MyCompanyで"&@サブセット(@ dbnameに、-1)= "サブディレクトリ\ \ mypath.nsf"; 0; @でください(@プロンプト([ [OK]; "無効"、 "あなたはこのアプリケーションの無効なコピーを開いています。"); @コマンド([FileCloseWindow])))
ユーザーがこのデータベースのコピーを行った場合なので、彼らはまだノートを介してデータを取得することはできません。
我々は最後に行った事は設計を非表示にしました。 あなたは、データベースの設計を置換するときには、置き換えられ得るデータベースの設計を非表示にすることができます。 デザインが隠れて使用すると、ユーザーは、起動設定や我々は、アプリケーションに配置され防止対策を回避するために、そのPostOpenイベントを操作することはできません。
Lotus Notesクライアントからアクセスすることはできませんアプリケーションを作るために結合されたすべてのそれらの項目。 私が以前言ったように、非常に洗練されたNotesの開発者やパワーユーザーは、これらの対策を回避することができるようになります。 我々は、誰かがすべてこの問題を回避できる方法を知っているが、我々はそれらをここに投稿するつもりはない - このアプリケーションのユーザーは、このウェブサイトを読んで、私たちはそれらの任意のアイデアを与えたくない。 それで、あなたはこのエントリへの応答を掲示し、いずれかを含むている場合については、我々はそれらの投稿を削除されるので注意してください "ここにあなたがそれを行う方法は、だ"。 このヒントは、それが困難なノートを介してアプリケーションにアクセスできるようにすることです。
2647視聴者が9658回アクセス














こんにちは、
あなたの材料はとても便利です。 しかし、私はメインのコンテンツの色が適していないことがわかり、それは目に良いではありません。 私はこのサイトであなたの材料の多くを読んだ後にすることを参照してください。
すべての管理者は、自身にデザイナーへのアクセス権を付与することができます..
その後は、新しいビューを作成し、データにアクセスするのは簡単です...
その人自身FullAccessAdminの権利取得することができますので、残念ながら、ドキュメントリーダーのフィールドとは、管理者のアクセスから安全ではありません...
私は、そのデータを完全に管理者から隠さなければならないアプリケーションを、maekなければならない.. アプリケーションは、ブラウザのUIである必要があります..
どのように私はそれを達成することができますか?
あなたが管理者から隠されたためにリーダーのフィールドを設定したり、同じ理由で暗号化を使用しようとすることができます。 ありがとうございました。
本当に甘い! まさに私が必要なもの。 どうもありがとう。