Sharepoint 2007 用户信息管理总结(2) - 用户信息管理
最近在做一些sharepoint2007的項目時,總會遇到一些在AD中更改了用戶屬性后無法立即同步到Sharepoint站點中的問題,經(jīng)在網(wǎng)上查找了一些資料解決了此問題。
解決辦法:
1. 更改AD中某賬號屬性。
2.SSP中手動同步用戶。
3.執(zhí)行
stsadm -o execadmsvcjobs
stsadm -o sync
原理:這里引用 kanboy的一篇文章
引用地址:http://blog.joycode.com/kaneboy/archive/2008/02/18/114730.aspx
在一個標(biāo)準(zhǔn)的SharePoint Server服務(wù)器場部署模型中,一個用戶的信息會同時存在于多個地方:
1、Active Directory
在AD中會保存我們的基礎(chǔ)信息,AD通常是企業(yè)中用戶基礎(chǔ)ID信息的所在。
2、SharePoint Server SSP User Profile
在SharePoint Server服務(wù)器場的共享服務(wù)(SSP)的用戶配置文件(User Profile)中,也會保存用戶的信息。SSP User Profile中的用戶信息,是作為SharePoint服務(wù)器場中集中的用戶信息存儲所在。如果在SharePoint應(yīng)用中需要存放一些用戶的特定屬性信息,建議就存放在SSP User Profile中。User Profile是可以進(jìn)行屬性擴(kuò)展的,比如,管理員可以添加一個新的“QQ號碼”屬性。
User Profile中的用戶信息默認(rèn)是從AD中導(dǎo)入而來的,在SSP User Profile管理中,我們可以配置這個導(dǎo)入過程,比如指定相隔多長時間就從AD中重新完全導(dǎo)入用戶信息一次。?
當(dāng)SSP User Profile從AD中導(dǎo)入用戶信息的時候,SSP會根據(jù)User Profile的屬性映射定義,來決定將AD中用戶的哪個屬性的值,賦值給User Profile的哪個屬性。比如,SSP會將AD中的“顯示名稱”這個屬性的值,導(dǎo)入到User Profile的“名稱”這個屬性中。通過SSP管理中“編輯用戶配置文件屬性”這個頁面,就可以編輯(或者取消)這種屬性映射關(guān)系。
如何修改保存在User Profile中的用戶屬性信息呢?首先,管理員可以在SSP管理中直接修改所有用戶的屬性信息。其次,每個用戶通過自己的個人網(wǎng)站(“我的網(wǎng)站”),就可以修改自己的User Profile信息。?
特別說明1:為什么用戶不能修改某些屬性?比如上圖中的“名稱”屬性,默認(rèn)就不能修改?
在SSP User Profile管理中,管理員可以指定哪些屬性允許用戶自己修改,哪些屬性不允許。比如,如果管理員允許用戶自己修改User Profile的“名稱”屬性:?
那么用戶就可以在自己的個人網(wǎng)站修改“名稱”屬性的值了:
特別說明2:用戶自己修改(或者管理員修改)了User Profile的值,但是豈不是在下一次從AD中完全導(dǎo)入用戶信息時,又被覆蓋成AD中的值了?
是的。比如上面我們允許用戶修改User Profile的“名稱”屬性的值,但是由于默認(rèn)“名稱”屬性映射到AD中的“顯示名稱”屬性,所以下一次進(jìn)行AD完全導(dǎo)入(“B標(biāo)記”)時,User Profile中用戶的“名稱”屬性又被自動置成了AD中的“顯示名稱”的值。但是,管理員可以取消這種映射關(guān)系,比如,我們?nèi)∠簟懊Q”屬性與AD“顯示名稱”屬性的映射:
特別說明3:修改了User Profile中的用戶信息,能否自動反向同步回AD?
不能。
除了從AD中導(dǎo)入User Profile信息之外,SharePoint還支持從其他數(shù)據(jù)源導(dǎo)入,比如LDAP Server。此外,你還可以用代碼來往User Profile中添加用戶的信息。
3、SharePoint站點
在每個SharePoint站點中(更準(zhǔn)確說應(yīng)該是站點集中),還會保存每個站點用戶的信息。這些信息是保存在各個站點的內(nèi)容數(shù)據(jù)庫的UserInfo表中(別直接修改數(shù)據(jù)庫表,那不是一個好主意,正確做法是通過SPUser對象模型來訪問SharePoint站點中的用戶信息)。我們在頁面右上方看到的那個“歡迎XXX”信息中的“XXX”,就來自SharePoint站點中存儲的用戶信息數(shù)據(jù)。
當(dāng)把用戶第一次添加到SharePoint站點中時,SharePoint自動以用戶的AD信息為基礎(chǔ),來寫入到UserInfo表中。然后,會將存儲到SharePoint站點中的用戶信息同步到User Profile中。同時,SharePoint Server還會自動定時的,將用戶在User Profile中的信息,同步到各個SharePoint站點。這種同步是雙向的。但是由于用戶實際上不能在SharePoint站點中修改用戶信息,所以實際上,這種同步絕大部分時候,都是將User Profile中的用戶信息推送到SharePoint站點中。
同步過程是由2個SharePoint計時器作用(Timer Job)來完成的,“配置文件同步”(進(jìn)行完全同步)和“配置文件快速同步”(進(jìn)行差量同步):
用戶信息從AD導(dǎo)入到SharePoint用戶配置文件,再由上述TimerJob同步到各個網(wǎng)站集。
"Profile Synchronization",每小時運行一次。
這個timer job不需要管理員做任何操作,它是SharePoint預(yù)先設(shè)置好的,每小時運行的。如果你等不及1小時,需要馬上測試這個(或者其他的某個)job的運行結(jié)果,那得通過stsadm或者對象模型臨時改變這個job的運行周期。
由于SharePoint Server是以User Profile來作為用戶信息存儲中心,所以SharePoint Server不允許用戶直接修改存儲在SharePoint站點中的用戶信息,而是定時自動的將User Profile中的用戶信息推送到每個站點中。也就是說,即使你手工修改了UserInfo表中存儲的用戶信息數(shù)據(jù),或通過SPUser對象模型修改了用戶的屬性信息,但它們很可能很快就會又被自動的覆蓋成User Profile中的值。我們應(yīng)該通過修改User Profile用戶信息,來達(dá)到更新和維護(hù)用戶信息的目的。User Profile應(yīng)該是整個SharePoint Server服務(wù)器場中唯一的用戶信息存儲中心。
特別說明1:如何手工來快速進(jìn)行將User Profile用戶信息同步到SharePoint站點用戶信息的過程?
嘗試在服務(wù)器上手工執(zhí)行下面兩個stsadm指令:
stsadm -o execadmsvcjobs
stsadm -o sync
特別說明2:為什么執(zhí)行了同步過程,不能同步某些用戶在SharePoint站點中的信息?
因為配置文件同步操作,只會同步那些SharePoint認(rèn)為是SharePoint站點“活動用戶”。一個用戶是否是活動用戶由UserInfo表中的某個字段來標(biāo)識。當(dāng)一個用戶在站點中進(jìn)行某些“確實的”操作時,比如上傳一個文件,他就會自動被標(biāo)記為“活動用戶”。
總結(jié):
簡單來說AD -> User Profile <-> Site User Info。
轉(zhuǎn)載于:https://www.cnblogs.com/fly-in-sky/archive/2012/06/13/2547430.html
總結(jié)
以上是生活随笔為你收集整理的Sharepoint 2007 用户信息管理总结(2) - 用户信息管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 拿来主义——老外写的系统统计脚本
- 下一篇: 4月份不良与垃圾信息举报:垃圾邮件占37