javascript 取得當前用戶的組和權限(上)

最近需求要用javascript 取得當前用戶的組和權限, 首先先要取得用戶名
取得用戶名有2種方法
1 通過頁面上的welcome信息
2 通過sharepoint webservice
方法1:
<div>
UserName:
<input type="text" id = "userName"/>
</div>

<script language="JavaScript">
      function getCurrentUser()
      {
             var tags = document.getElementsByTagName('a');
             for (var i=0; i < tags.length; i++)
            {
                  if(tags[i].innerText.substr(0,7) == 'Welcome')                
                          document.getElementById('userName').value = tags[i].innerText.substr(8,tags[i].innerText.length);
              }
        }
getCurrentUser();
</script>

方法2:通過不同的webservice有兩種方式
 2.1 通過_sqUserId從User Infomation List中取得,
不過這個方法有個缺點,這個列表只存在於頂級網站中,而且需要用戶有權限
<div>
UserName:
<input type="text" id = "userName"/>
</div>
<script  type="text/javascript" src="Shared Documents/SPAPI_Core.js">
</script>
<script  type="text/javascript" src="Shared Documents/SPAPI_Lists.js">
</script>

<script  type="text/javascript">
function getCurrentUser()
{
      
        var lists = new SPAPI_Lists('')   
        var items = lists.getListItems(   
            'User Information List',   
            '',   
            '<Query><Where><Eq><FieldRef Name="ID"/><Value Type="Counter">' + _spUserId + '</Value></Eq></Where></Query>', // query   
            '<ViewFields><FieldRef Name="Name"/></ViewFields>',   
            1, // rowLimit   
            '' // queryOptions   
        );   
      
        if (items.status == 200)   
        {   
            var rows = items.responseXML.getElementsByTagName('z:row');
            document.getElementById('userName').value = rows[0].getAttribute('ows_Name');
         }

}
getCurrentUser();
</script>

 2.2直接通過如下方法
<div>
UserName:
<input type="text" id = "userName"/>
</div>
<script  type="text/javascript" src="Shared Documents/SPAPI_Core.js">
</script>
<script  type="text/javascript" src="Shared Documents/SPAPI_Lists.js">
</script>
<script  type="text/javascript" src="Shared Documents/SPAPI_UserProfile.js">
</script>

<script  type="text/javascript">
function getCurrentUser()
{
    var Profile = new SPAPI_UserProfile('http://moss/Dalian/');
    var Profiledata = Profile.getUserProfileByName(null);
   
    if(Profiledata.status == 200)
    {
        var rows = Profiledata.responseXML.getElementsByTagName('PropertyData');

        for(var i = 0; i<rows.length; i++)
        {
            var item = rows[i];
            var itemName = item.getElementsByTagName('Name')[0].childNodes[0].nodeValue;
            if(itemName == "AccountName")
            {
               document.getElementById('userName').value = item.getElementsByTagName('Value')[0].childNodes[0].nodeValue;
                break;
            }
           
        }
    }
}

getCurrentUser();

</script>

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章