Javascript前端判断用户是否为某权限组成员
接上一篇使用SPservice的一些实践。当需要做一些低级别的权限管理时,如判断当前用户是否属于某个权限组(Group)来决定UI上的显示。以下是判断的函数code:
function IsMemberOfGroup(strGroupName) { var rt=0; var g_strCurrUser = ""; $().SPServices({ operation: "GetUserProfileByName", AccountName: $().SPServices.SPGetCurrentUser(), async: false, completefunc: function(xData, Status) { g_strCurrUser= $(xData.responseXML).find("Name:contains('PreferredName')").first().parent().find("Value").text(); //alert(g_strCurrUser); $().SPServices({ operation: "GetUserCollectionFromGroup", groupName: strGroupName, async: false, completefunc: function(xml, Status) { if($(xml.responseXML).find("User[Name='" + g_strCurrUser + "']").length > 0) { //alert($().SPServices.SPGetCurrentUser({fieldName: "UserName"})); rt = 1; } } }); /*close().SPServices({ */ } }); /*close().SPServices({ */ return rt; }
先通过Jquery先调用SharePoint的webservice “GetUserProfileByName”来得到用户名,然后传入另外一个webservice “GetUserCollectionFromGroup”来判断是否为该group成员