SharePoint:如何根據使用者身份來自動控制Portal的Logo顯示

來源:互聯網
上載者:User

標籤:ffffff   自動   users   api   儲存   attr   query   text   支援   

隨著智能化辦公的啟動,很多企業都邁向了數字化轉型的行列,由于越來越多大企業客戶希望有統一的Portal來做企業交流和協作的統一視窗,那麼就為SharePoint管理員帶來了普遍困擾:使用者登入Portal時,如何根據使用者的身份來自動更換Portal的Logo以及Web Part,近期在MSDN 論壇上也有人諮詢該問題,這裡整理並匯總下實現方式。

作為資深的SharePoint管理員,我們知道Web Part可以通過配置Audience來控制哪些Group member可以顯示Web Part哪些Group Member是隱藏Web Part的,但如何根據使用者身份來控制Logo顯示呢?

解決方案:通過SharePoint Designer在Master Page中<head/>前做下修改。

前期準備:
? 建立Picture Library用來做Logo的儲存
? 根據實際需求建立SharePoint Group
? 將AD User添加到特定的SharePoint Group中,需要注意不支援Ad Group

以Pingpang Group為例,操作如下:

1.建立Picture Library,並上傳Logos,如所示:


2.建立SharePoint Group,並命名為Pingpang Group,添加User:jzliu,如所示:


3.使用SharePoint Designer來開啟Site Collection,並點擊Site Objects中的Master Pages,如所示:


4.在Master Page Library中,用進階模式開啟seattle.master, 並在<head/>添加如下代碼:

<script src="https://code.jquery.com/jquery-1.12.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
var groupName="Pingpang Group";
var logoImgUrl="http://www.demo.com/sites/Changchun/Picture/Pingppang.jpg";
if(isMember(groupName)){
$(".ms-siteicon-img").attr("src",logoImgUrl);
}
})
function isMember(groupName){
var isGroupMember=false;
$.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/sitegroups/getByName(‘"+groupName+"‘)/Users?$filter=Id eq " + _spPageContextInfo.userId,
method: "GET",
async:false,
headers: { "Accept": "application/json; odata=verbose" },
success: function(data){
if(data.d.results.length>0){
isGroupMember=true;
}
}
});
return isGroupMember;
}
</script>

5.修改“GroupName”和“Logoimgurl”,說明:Groupname必須是SharePoint Group,不支援AD Group;Group member必須是AD Users
6.當jzliu登入後,可以看到log切換為Pingpang的logo,如所示:

如果Byron來自Basketball group,你需要再次按照步驟4和5作業碼,這樣才能保證Byron登入時,顯示是Basketball的Logo,如所示:

希望經驗分享對大家日後工作有所協助~~ 感謝閱讀

SharePoint:如何根據使用者身份來自動控制Portal的Logo顯示

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.