1

xPages アプリケーションを開発する場合、従来の Notes クライアントから nsf を保護するためのベスト プラクティスは何ですか。xPage に影響を与えずに、Notes クライアントからデータベースにアクセスできないようにしたいと考えています。

いくつかの理由でアクセスを制限したいと思います。ドキュメントとビューに対するセキュリティ。ユーザーがメモでアプリケーションを使用できないようにし、xPages の使用を強制します。これを達成するための特効薬はないように見えますが、むしろ、さまざまなソリューションを使用する必要があります。

4

6 に答える 6

2

これをさらに単純化し、クライアントの起動プロパティを変更して、ユーザーがブラウザーを介してアプリケーションにアクセスする必要があることを示すページにリダイレクトし、システムにアクセスするための URL を提供することを検討します。このシステムで情報がどのように配布されるかにもよりますが、これは完全な解決策ではありませんが、ユーザーが単に Notes クライアントからアプリケーションを開く場合、これは適切なリダイレクトを提供するだけでなく、エンド ユーザーにアプリケーションの意図を再教育することにもなります。将来的に使用されます。

于 2013-09-23T12:40:15.943 に答える
2

ACL で防ぐことはできません。一般ユーザーをリダイレクトして、ブラウザでアプリケーションを開くことができます。私たちのアプリケーションでは、クライアントと XPiNC で開かないようにするために、queryOpen スクリプトで簡単なサブフォームを作成しました。

Dim ws as New NotesUIWorkspace
ws.URLOpen Source.Document.HttpUrl
Continue = False

このサブフォームは、ユーザーがドキュメントリンクを取得したり、ビューから開いたりできるフォーム内に配置されます。ビュー レベルでは、すべての表示可能なビューおよび/または OpenDatabase スクリプトに対して同様のアプローチを採用できます。

これは、次の微調整で非常にうまく機能します:ネイティブの Domino リンクと XPages

于 2013-09-23T08:28:09.370 に答える
2

なぜアクセスを禁止したいのですか?

管理者とサーバーは nsf にアクセスできるはずだと思います。したがって、LocalDomainAdmins、LocalDomainServers などは ACL の一部である必要があります。

ACL 内のユーザー アクセス グループに、一致する Notes 名 (Notes ID) を持たないユーザー アカウントの名前 (names.nsf 内の個人文書) が含まれていることを確認することにより、Notes クライアントから nsf 自体へのユーザー アクセスを制限できます。ユーザーは、Web からのみアプリケーションにアクセスでき、Notes からはアクセスできません。

ただし、ユーザーがすでに Notes へのアクセス権を持っている場合、これは実行可能なソリューションではない可能性があります。これは、既存のユーザー文書と一致しないユーザー名を持つ新しいユーザー文書を作成する必要があるためです。つまり、既存のユーザーは、Notes アクセス用のユーザー文書と Web アクセス用のユーザー文書を持つことになります。

代わりに、(リーダー フィールドを使用して) ドキュメントへのアクセスを制限し、(特定のロールへのアクセスを制限することで) ビューへのアクセスを制限することを検討する必要があります。

于 2013-09-23T08:20:00.153 に答える
2

アプリを 2 つの .nsfs に分割します。1 つはデータ用、もう 1 つは xpage デザイン専用です。データ .nsf をロックダウンし、設計署名者のアクセスのみを許可するように制限します。sessionAsSigner を使用してデータをプルする必要があるため、頭痛の種になります。

于 2013-09-26T01:19:47.673 に答える
1

フォームからフィールドを削除するか、すべてのフィールドを非表示にすることで、ノーツのデータにアクセスしようとする試みを不快なものにすることができます。その後、ノーツ クライアントからビューを非表示にして、ドキュメントへのアクセスをさらに困難にすることができます (ただし、誰かがプライベート ビューを作成することはできます)。

私たちのデータベースの 1 つで、データベースは XPiNC の XPage に開かれ、管理者のみがビューを開くためのリンクが表示されます。

var server:NotesName = session.createName(@Subset ( @DbName(), 1));
var filepath = database.getFilePath();
return "Notes://" + server.getCommon() + "/" + filepath + "/ViewToOpen?OpenView";

すべての状況でエンド ユーザーがノーツ クライアント バージョンにアクセスできなくなるわけではありませんが (ドキュメントリンクやビュー リンクを送信することはできます)、ユーザーは通常のダブルクリック パターンに従って、希望する方法でデータベースを開くことができます。それを見るために。リンクがあれば、ノーツ クライアントからのアクセスが本当に必要な人に許可できます。

于 2013-09-24T15:01:34.263 に答える