ユーザープロファイルに複数のデータソース
-
10-12-2019 - |
質問
いかに理解させていただくことになったんです。
いユーザプロファイルから、アクティブディレクトリがある物件からの外部サービスおでから、WCFサービスです。
何が最良の方法のアプローチを考えていますか。ことはできるのか?しているのかをよく理解してくっつんと表示するようになっている事業データモデルをビジュアルスタジオもなって大きな混乱頭の中に残っています。
編集
いsharepointのみデータのインポートには、データによって変更する可能性があり、WCFサービスデータソースです。
解決
ピーター Holparは非常に良い記事 このトピックに関するSharePoint2010.一般的に、かなりのSPは2013年.場合にあきれから一旦、WCFサービスとしSharePointの所有者の財産(人になると更新でその後になっている必要はありませんBCSモデルの同期接続します。だけなのにスクリプト内ではコンソールアプリは一時は人口の物件の質問です。
場合には、WCFサービスのデータソースだと決まっているわけですからね、標準的なソースのデータは、そのように作成する同期接続します。
工程-コード
- の作成およびロータモデルです。モデルが含まれていなければならない物件を地図では、独自の識別子を記述することです。を使用したSAMアカウント名のドメインの接頭辞は、
rkaucher
ないcontoso\rkaucher
. - の同期の設定/物件です。
- から管理コンプライアンス-プログラムのページをクリックし管理ユーザーの物件です。
- ユーザーのプロパティページのいずれかに物件をご希望の訂正、追加ます。この例に限定されていないので、編集の
Department
物件です。これらの属性は分かります。 - このページであるものの下に表示され
Property Mapping for Synchronization
.インストールされている場合、をクリックします。.
下
Add new mapping
選択BCS接続Source data connection
そしてその件をBCS体を希望される地図にはこのユーザープロファイル物件です。 忘れなく追加をクリックし そしてOKです。の管理コンプライアンス-プログラムを選択します
Configure Synchronization Settings
.必ずInclude existing BCS connections for synchronization?
を確認してこのイメージです。なかったことは、当初かかったとのこと30分に何をやっていたのは間違っています。
- 一度にする"をクリックしてください最終ステップに戻すことができ、管理コンプライアンス-プログラムのページをクリックし
Start Profile Synchronization
.一回の同期完了していることを確認して下さい新しいプロパティ値のAbout me
のプロフィールページを有効にしている場合は、その属性が設定されます。
プロセスサーバー OM
ここでは一部の例のコードを作成する物件です。このようなハードを取得します。作成した簡単なコンソールアプリの物件になります。課題のひとつがたかれていたことはいたっ NullReferenceException
により引き起こされた、 SecurityException
私の口座の口座により、コードを実行したに設定されていないものの管理者 や 権限のユーザーのコンプライアンス-プログラム(中央管理
この時点で、思いので疲れた私の目を紡いがある場合の誤字、お気軽に修正しなければならない、または追加のコメントを行います。
using Microsoft.Office.Server.UserProfiles;
using Microsoft.Sharepoint;
using Microsoft.Sharepoint.Administration;
using System;
//Etc...
//Get a handle on the central admin site collection as site
SpServiceContext context = SPServiceContext.GetContext(site);
UserProfileConfignanager userProfileConfigManager = new UserProfileConfigllanager(context);
UserProfileManager userProfilemanager = new userProfileManager(context);
ProfilePropertytianager propManager = userProfileConfigManager.ProfilePropertylianager;
CorePropertyManager corePropManager = propManager.GetCoreProperties();
CoreProperty coreProp = corePropManager.Create(false);
//The bool above is for isSection, which this is not.
coreProp.Name = "MyBcsFullName";
coreProp.DisplayName = "MY BCS Full Name";
coreProp.Type = PropertyDataType.StringSingleValue;
coreProp.Length = 50;
coreProp.Commit();
//Obviously it’s a user type
ProfileTypePropertyManager typePropManager = propManager.GetProfileTypeProperties(Profilerype.User);
ProfilesubtypePropertyManager subtypePropManager = userProfilemanager.DefaultProfileSubtypeProperties
ProfilesubtypeProperty subProp = subtypePropManager.Create(typePropManager.GetPropertyByName(coreProp.Name));
subProp.IsUserEditable = false;
subProp.DefaultPrivacy = Privacy.Public;
subtypePropManager.Add(subProp);
Connection connection = userProfileConfigManager.ConnectionManager["BCS Properties"];
if (connection != null)
{
PropertyMapCollection propMapCollection = con.PropertyMapping;
PropertyMap propMap = propMapCollection[subprop.Name];
if (propertyMap == null)
{
propMapCollection.AddNewMapping(ProfileType.User, subProp.Name, "FullName");
//The final param is the name of the property in the BCS model.
}
}
の権利、財産また追加されます。