日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Sharepoint学习笔记—error处理-- The user does not exist or is not unique.

發(fā)布時(shí)間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Sharepoint学习笔记—error处理-- The user does not exist or is not unique. 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?看到網(wǎng)上不少人遇到過(guò)這種類似的錯(cuò)誤,而產(chǎn)生這種錯(cuò)誤的原因也有多種,我產(chǎn)生此錯(cuò)誤的背景是在試圖通過(guò)ECMAscript對(duì)象模型把一個(gè)User添加到某個(gè)指定的Group中時(shí)遇到的。
????????

???問(wèn)題1.當(dāng)我試圖把一個(gè)User添加到Sharepoint的某個(gè)指定的Group,而這個(gè)User已經(jīng)在Site Collection中存在,在此背景下我得到此錯(cuò)誤信息。
?? 問(wèn)題2.如果我試圖把一個(gè)在Site Collection中不存在,而在AD中存在的User添加到Sharepoint的某個(gè)指定Group中時(shí),這種操作是肯定不能成功的。因?yàn)槲④浀腗SDN中明確指出了只能添加已經(jīng)在Site Collection中存在的AD Users。
??? 我的解決步驟如下:
一、檢查關(guān)于用戶設(shè)置信息的代碼是否有問(wèn)題。
??? 我原來(lái)的代碼如下:???

function?addUserToSharePointGroup(groupID)?{

????????//var?clientContext?=?new?SP.ClientContext(siteUrl);
????????var?clientContext?=?new?SP.ClientContext.get_current();
????????var?collGroup?=?clientContext.get_web().get_siteGroups();
????????var?oGroup?=?collGroup.getById(groupID);
????????var?userCreationInfo?=?new?SP.UserCreationInformation();
????????userCreationInfo.set_email('help@star.com.cn');
????????userCreationInfo.set_loginName('help');
????????userCreationInfo.set_title('help');
????????this.oUser?=?oGroup.get_users().add(userCreationInfo);??//add?user?into?group

????????var?userInfo?=?'\nUser:?'?+?oUser.get_title()?+
????????????'\nEmail:?'?+?oUser.get_email()?+
????????????'\nLogin?Name:?'?+?oUser.get_loginName();

????????alert(userInfo);
????????clientContext.load(oUser);
????????clientContext.executeQueryAsync(Function.createDelegate(this,?this.onQuerySucceededaddUserToSharePointGroup),
????????Function.createDelegate(this,?this.onQueryFailedaddUserToSharePointGroup));
????}

????function?onQuerySucceededaddUserToSharePointGroup()?{

????????alert(this.oUser.get_title()?+?"?added.");
????}

????function?onQueryFailedaddUserToSharePointGroup(sender,?args)?{

????????alert('Request?failed.?'?+?args.get_message()?+?'\n'?+?args.get_stackTrace());
????}

????此代碼存在問(wèn)題主要在userCreateInfo代碼:

??? 1、set_loginName設(shè)置項(xiàng)應(yīng)該加入此用戶所在的域 DOMAIN?
??? 2、DOMAIN后面應(yīng)該用"\\",否則在實(shí)際生成的User時(shí)就會(huì)把DOMAIN與User直接連接起來(lái)(如:DOMAINuser),這樣的用戶當(dāng)然在AD中是不存在的
???因此,在代碼設(shè)置中,針對(duì)User的Information應(yīng)該符合真正存在的那個(gè)User在AD Account中的設(shè)置情況,所以在上述代碼中你可以看到我加入了一個(gè)alert來(lái)顯示設(shè)置的信息,便于你在查錯(cuò)時(shí)與AD中此user的對(duì)應(yīng)信息進(jìn)行比較。

? 針對(duì)上面的問(wèn)題修改后的代碼如下:

function?addUserToSharePointGroup(groupID)?{

????????//var?clientContext?=?new?SP.ClientContext(siteUrl);
????????var?clientContext?=?new?SP.ClientContext.get_current();
????????var?collGroup?=?clientContext.get_web().get_siteGroups();
????????var?oGroup?=?collGroup.getById(groupID);
????????var?userCreationInfo?=?new?SP.UserCreationInformation();
????????userCreationInfo.set_email('help@star.com.cn');
????????userCreationInfo.set_loginName('STAR\\help');
????????userCreationInfo.set_title('help');
????????this.oUser?=?oGroup.get_users().add(userCreationInfo);??//add?user?into?group

????????var?userInfo?=?'\nUser:?'?+?oUser.get_title()?+
????????????'\nEmail:?'?+?oUser.get_email()?+
????????????'\nLogin?Name:?'?+?oUser.get_loginName();

????????alert(userInfo);
????????clientContext.load(oUser);
????????clientContext.executeQueryAsync(Function.createDelegate(this,?this.onQuerySucceededaddUserToSharePointGroup),
????????Function.createDelegate(this,?this.onQueryFailedaddUserToSharePointGroup));
????}

????function?onQuerySucceededaddUserToSharePointGroup()?{

????????alert(this.oUser.get_title()?+?"?added.");
????}

????function?onQueryFailedaddUserToSharePointGroup(sender,?args)?{

????????alert('Request?failed.?'?+?args.get_message()?+?'\n'?+?args.get_stackTrace());
????}

?

?二、檢查Windows Server的 Domain member: Digitally encrypt or sign secure channel data (always) 安全設(shè)置項(xiàng)。
??? 如果上面的排錯(cuò)沒有解決The user does not exist or is not unique報(bào)錯(cuò),那么就進(jìn)入這一步進(jìn)行償試。

??? 由于我的開發(fā)環(huán)境是Server 2008 R2,認(rèn)證方式采用的是Kerberos(據(jù)說(shuō)這點(diǎn)很重要,因?yàn)槿绻捎玫氖莣indows NTLM方式,則不會(huì)存在Application與AD環(huán)境的信息溝通問(wèn)題),據(jù)說(shuō)Windows Server 2008 (或 R2)中有某個(gè)Feature不支持Sharepoint上運(yùn)行的Application,由此可能會(huì)造成AD信息交換出問(wèn)題。
??? 解決的辦法就是設(shè)置Domain member: Digitally encrypt or sign secure channel data (always) 這個(gè)安全項(xiàng)。這個(gè)選項(xiàng)默認(rèn)是開啟的,我們需要手工停止它。方法是在服務(wù)器上 Start -> Run -> type gpedit.msc.
進(jìn)行設(shè)置界面后,依序打開
Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options.在Security Options的右邊你可以看到此選項(xiàng),請(qǐng)手工將其停止,然后重啟服務(wù)器。

?

? 需要指明的是,此處我只列出了上述兩種解決思路,如果上面的情況均未解決你遇到的問(wèn)題,你就需要針對(duì)你自己的特定情況,捕獲可能的相關(guān)錯(cuò)誤信息來(lái)解決問(wèn)題。

總結(jié)

以上是生活随笔為你收集整理的Sharepoint学习笔记—error处理-- The user does not exist or is not unique.的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。