2012-04-24 13 views
1

は、私がこのように作成された特定のデータベース内の公開文書があります。のXPages sessionAsSignerとDominoデータソース

<xp:dominoDocument var="newDoc" formName="frmMyForm" 
    databaseName="#{javascript:applicationScope.aspMyDBPath}"> 
</xp:dominoDocument> 

をそのデータベースのACLは、公文書への書き込みアクセス権を持つリーダーとして匿名に設定されています。 XpagesがWebユーザーとして実行されているため、この文書を保存できません。エージェントの署名者として実行していて、sessionAsSignerを使用してデータベースを初期化していれば、それを保存できました。どのように私はdominoDocumentデータソースでこれを行うことができますか?何か案は?

ご協力いただければ幸いです。私はこの問題を回避するためにこのデータベースにエディタレベルのアクセス権を与えたくありません。

答えて

4

あなたは、データベースへのアクセス公共の文書をこのように作成する可能性がないとユーザーに与えることができます。

  1. $するpublicAccessフィールドを使用してデータベース(テキスト、値が「1」)にフォームを追加します。
  2. プロパティを有効にする「パブリックアクセスのために利用可能です」
  3. フォームのあなたのXPageの「computewithform =両方の」あなたのデータソースへ
  4. 変更のセキュリティ設定が
  5. の「パブリック・アクセスを許可」にプロパティを追加します。
  6. DBのACLを変更し、パブリック文書の作成と読み取りを許可する

これは読者にも有効です。

希望このためのDataContextを使用することが可能でなければなりません

スヴェン

+0

これは、多くの感謝を与えるでしょう。Sven – pipalia

+0

それは動作します - それは動作するように計算された$ PublicAccessフィールドを計算しなければなりませんでした。興味のないところでは、「パブリックアクセスに利用可能です」と表示された場合、なぜパブリックアクセスが必要ですか? – pipalia

+0

$ PublicAccessフィールドは、ドキュメントを読み取るために必要です。デザイン要素はドキュメントでもあります。一般ユーザーがそれらを使用する必要がある場合は、読み込み可能でなければなりません。 「パブリックアクセスに使用可能です」をアクティブにすると、設計要素はDesignerから$ PublicAccessフィールドを取得します。 –

1

に役立ちます。 XPageのプロパティで新しいDataContextを設定し、正しいDB/Docに設定しますが、sessionAsSignerを使用してデータベースを返します。

データコントロールのフォームのフィールドに簡単にアクセスすることはできません。手動で各フィールドにELを入力する必要があります。

+0

私はdataContextを試しましたが、データロード後にいくつかの値を設定しています。この機会に、Svenが提案したのはうまくいった。デクランに感謝します。 – pipalia

関連する問題