1

ユーザー名 (パスワードではない) を持っているプロジェクトがあり、ユーザーがアイテムにアクセスできるかどうかを確認する必要があります。権限は継承されない可能性があるため、これは Web レベルではなくアイテム レベルである必要があります。

私は SPWeb.CheckPermissions を認識していますが、ユーザーが実際の spweb にアクセスできるかどうかのみをテストすると考えました。

ありがとう

==編集==

これを行うことでこれを達成できました

var item = properties.ListItem;
SPUser user = SPContext.Current.Web.EnsureUser(@"domain\logonname");
item.DoesUserHavePermissions(user, SPBasePermissions.OpenItems);

しかし、私の質問は少し残っています。これは Web サービス API を介して行うことができますか?

4

1 に答える 1

0

SharePoint 2013 では、REST API を使用して静的メソッドを照会できます。興味深いメソッドはSPUtility.GetPrincipalsInGroup. もちろん、「開いている権限があります」を要求することはできませんが、特定のグループを要求することはできます。静的メソッドを照会するには、「SharePoint 2013 REST サービスを使用したプログラミング」を参照して、「静的メソッドとプロパティを REST サービス URI として指定する」セクションを探してください。もちろん、認証されたユーザーで Web サービスを呼び出す必要があり、すべてのユーザーが列挙できるようにグループを有効にする必要があります。

于 2013-03-01T16:02:17.447 に答える