を( CSOMまたはJSOMを使用することは)残念ながら、あなたはサーバー側のコードでは、このために使用するSPGroup.ContainsCurrentUser
プロパティは、(少なくともないSP2010および2013年)のJavaScriptクライアントオブジェクトモデルを介してアクセスできません。
オプション1:OnlyAllowMembersViewMemberhip
とCanCurrentUserViewMembership
:使用のグループメンバーシップの可視性の周りの回避策
一つの潜在的な作業では、JavaScriptクライアントオブジェクトモデルを介したグループにあなた缶アクセス二つの特性の組み合わせを利用することであるとして、 。
グループメンバーがグループメンバーを許可できるように設定されているグループのグループメンバーシップを現在のユーザーが表示できる場合は、ユーザーがグループメンバーであると見なすことができます。
var clientContext = new SP.ClientContext();
var groupId = 5; // the group membership ID for the group you want to check
var group = clientContext.get_web().get_siteGroups().getById(groupId);
clientContext.load(group,"CanCurrentUserViewMembership");
clientContext.load(group,"OnlyAllowMembersViewMembership");
clientContext.executeQueryAsync(
function(sender,args){
var isMemberOfGroup = group.get_canCurrentUserViewMembership() && group.get_onlyAllowMembersViewMembership();
if(isMemberOfGroup){
doSomething();
}
},
function(sender,args){"Whoops! "+alert(args.get_message());}
);
あなたはメンバーのみに表示されるようにグループを設定している場合は、このアプローチにのみ動作します、そしてそれは常に、このようなサイトコレクションしているかのように、偽陽性のあなたが上昇している場合にアクセスを返します管理者またはグループの所有者。
編集:あなたの代わりにそのIDによってグループを指定する(サイト上のすべてのグループで、現在のユーザーのメンバーシップを確認するために、上記と同じロジックを適用したい場合はすべてのサイトグループ
を反復処理する方法)、以下の変更されたJavaScriptコードを使用することができます。
var clientContext = new SP.ClientContext();
var groups = clientContext.get_web().get_siteGroups()
clientContext.load(groups,"Include(CanCurrentUserViewMembership,OnlyAllowMembersViewMembership,Title)");
clientContext.executeQueryAsync(
function(sender,args){
var groupIterator = groups.getEnumerator();
var myGroups = [];
while(groupIterator.moveNext()){
var current = groupIterator.get_current();
var isMemberOfGroup = current.get_canCurrentUserViewMembership() && current.get_onlyAllowMembersViewMembership();
if(isMemberOfGroup){
myGroups.push(current.get_title()); // this example adds group titles to an array
}
}
alert(myGroups); // show the array
},function(sender,args){"Whoops! "+alert(args.get_message());});
オプション2:私はコメントで述べたように、あなたもグループメンバーシップへのプログラムによるアクセスを必要としないかもしれないあなたの要件については、使用対象読者は、回避策もちろん
としてターゲット。特定のグループにしか表示されないようにするWebパーツにオーディエンスターゲティングを設定することができます。オーディエンスターゲティングはADグループのメンバーシップを尊重す
さらに指定できますか?たとえば、「サイト訪問者」のSharePoint権限レベルグループにアクティブなディレクトリグループを追加しました。今、あなたは何のために、いつ、どこで、いつアクセス許可をチェックしたいですか?そしてどうやって?プログラム的にまたはSharePoint管理者セットアップまたは何ですか? – Eric
1)SharePointに広告グループ(例)マネージャーを追加しました。 2)今私はグループ(マネージャー)へのURLリンクをいくつか表示したいと思います。 3)ユーザーがログインしたときに、ユーザーがマネージャーかどうかを確認するにはどうすればいいですか(CSOMまたはJSOMの使用) –
このシナリオでは、グループメンバーシップを自分で確認する必要はありません。オーディエンスターゲティングと呼ばれる組み込みのSharePoint機能を使用して、ページ上の個々のWebパーツを表示できるユーザーを制限することができます。 – Thriggle