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>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值