web-dev-qa-db-ja.com

SharePoint-アイテムを追加するが表示しないようにアクセス許可レベルを設定するにはどうすればよいですか?

特定のユーザーグループがアイテムをリストに追加できるようにしたいが、すべてのアイテムを表示できないようにしたい。これは、ワークフローの一部をプライベートに設定できるようにするためです。新しいアクセス許可レベルを次のように定義することで可能になると思いました。

http://servername/_layouts/addrole.aspx (「権限レベルの追加」ページ)

ただし、「アイテムの追加」リスト権限を選択すると、「アイテムの表示」も自動的にチェックされます。

誰かがこれに対する解決策を知っていますか?

12
Stuart

途中オプションとして、アイテムを所有者にのみ表示するようにリストを設定できます([設定]> [詳細設定]、次に読み取りアクセス/編集アクセスのオプションを設定します "これは、自分が追加したすべてのアイテムを表示することを妨げるものではありませんが、(リストの所有者以外は)この権限の外には何も表示されません。

10
Ceesaxp

アイテムの表示はアイテムの追加の依存するアクセス許可なので、Sharepointにそのようなアクセス許可をOOBに追加できるかどうかは不明です。ここを見てください( http://office.Microsoft.com/en- us/sharepointtechnology/HA101001491033.aspx

2つのリストを作成し、最初のリストのitem addedイベントにコードを追加して別のリストにアイテムを追加し、それを最初のリストから削除するという汚い回​​避策がありますが、これが良い解決策かどうかはわかりません。 。 。

4
Jomit
$spweb=Get-SPWeb -Identity "<site url>";
$spRoleDefinition = New-Object Microsoft.SharePoint.SPRoleDefinition;
$spRoleDefinition.Name = "Submit only";
$spRoleDefinition.Description = "Can submit/add forms/files/items into library or list but cannot  view/edit them.";
$spRoleDefinition.BasePermissions = "AddListItems, ViewPages, ViewFormPages, Open";
$spweb.RoleDefinitions.Add($spRoleDefinition);

取得元: http://sajiviswam.wordpress.com/2011/12/09/add-only-permission-level-in-sharepoint-2010/

2
ehaze

ワークフローで偽装ステップを使用します。

1
newbie

同様の問題があり、リストの内容を匿名ユーザーに表示させたくありませんでした。

同じソリューションがこれで機能する可能性があります。

SharePointデザイナーで(何らかの理由でWeb上のページを編集できませんでした)、DispForm.aspxページを開き、Webパーツのプロパティにターゲットオーディエンスを追加します(Webパーツを非表示にしたくない場合)WEBPARTを削除しないでください-この中断あなたのリストを完全に!

AllItems.aspxでも同じことができます

お役に立てれば。

1
user183073

SharePointデザイナをすぐに使用できるのは、ワークフローを使用してアイテムをパブリックの「ドロップボックス」リストから保護されたリストに移動することだけです。

ユーザーはアイテムを表示してパブリックDropboxにアップロードできますが、すぐにワークフローが開始され、コンテンツを別の同一の安全なリストに移動します。コンテンツの上書きを許可する必要があるかどうかを決定できます。

ハックな回避策ですが、プログラミングなしではそれがすべてSharePointです。 (私の会社ではまだコードを記述できません)

0
MrChrister

「Ceesaaxp」に完全に同意します。リストの詳細設定の下で、読み取りアクセスを自分自身のみに設定します。ナレッジマネジメントプロセスを作成し、保留中のナレッジ記事用と承認済み用の2つのリストを作成しました。保留リストの[新しいフォーム]ページを変更し、記事のステータスとして使用されていたJavaScriptを使用してドロップダウンボックスを無効にしました。このドロップダウンは、「保留中」として永続的に設定されます。ユーザーがアイテムのみを追加できるようにする新しいアクセス許可レベルも作成しました。次に、ステータスドロップダウンボックスが「承認済み」に設定されている場合に、記事を承認済みリストに移動するワークフローを作成しました。

次に、保留リストの詳細設定の読み取り専用設定を独自の設定のみに変更しました。これにより、すべてのナレッジ記事が公開される前に承認されます。

0
JD-Daz

私はこの問題の簡単な解決策に取り組んでおり、このメッセージを見つけたときに調査を行っていました。 SPDワークフローのほか、匿名ユーザーでは機能しません。フォームをフォームライブラリにメールするinfopath htmlフォームを実行することを考えていました。開始するサイトとして1つのフォームライブラリを使用できますフォームを作成して、その結果を別のフォームライブラリに保存します。フォームライブラリを設定して誰からの電子メールも受け入れるようにできるので、他のユーザーが閲覧できないようにできますが、編集は可能です。

これを試したことはありませんが、問題が発生した場合はコメントを投稿します。

0
Will Dieterich

@Jomit。あなたの回避策はうまくいくかもしれませんが、それはレース状態の問題を抱えています。ユーザーはまだ他のアイテムを見る機会があるかもしれません。これはあなたのルールによってはノーノーかもしれません。

SharePointの通常のリストでは、[設定]/[詳細設定]/[アイテムレベルの権限]でこのオプションが提供されています。 DocumentおよびForm LibrariesのGUIには、何らかの理由でこのオプションがありません。

考えられる解決策の1つは、SharePointオブジェクトモデルを使用してこれらの変更を行う簡単なプログラムを作成することです。 http://msdn.Microsoft.com/en-us/library/Microsoft.sharepoint.splist.writesecurity.aspx

// Sample code for setting writing and reading security on a form library
class Program
            {
                static void Main(string[] args)
                {
                    using (SPSite site = new SPSite(args[0]))
                    {
                        using (SPWeb web = site.OpenWeb())
                        {
                            SPList list = web.Lists[args[1]];
                            list.WriteSecurity = 2;
                            list.ReadSecurity = 2;
                            list.Update();
                        }
                    }
                }
            }
0
Alex Nolasco

実際に使用しているリストの種類を指定していませんが、[詳細設定]のリスト設定を見ると、[アイテムレベルの権限]セクションが見つかるはずです。これにより、ユーザーが送信したアイテムのみを閲覧(または編集)するように制限することができます。これは、リストまたはそのアイテムに設定されている他のACLを上回ります。

0
Sam Yates