私は、近い将来、既存のWebサイトを置き換えるWebサイトを構築中です。既存のウェブサイトには約が含まれています。コンポジットでエクストラネットモジュール(購入したもの)に「インポート」する必要がある300人のユーザー。
エクストラネットモジュールにユーザーをバッチ作成する方法はありますか?
私は、近い将来、既存のWebサイトを置き換えるWebサイトを構築中です。既存のウェブサイトには約が含まれています。コンポジットでエクストラネットモジュール(購入したもの)に「インポート」する必要がある300人のユーザー。
エクストラネットモジュールにユーザーをバッチ作成する方法はありますか?
ありがとうございました。それは今動作します。ユーザーをプログラムでインポートしました。Visual Studio で複合ソリューションを開き、aspx ページを追加しました。これがコードビハインドです。
using System;
using System.Collections.Generic;
using System.IO;
using Composite.Community.Extranet;
using Composite.Community.Extranet.Data;
public partial class ImportUsers : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string path = Server.MapPath("UsersToImport.csv");
StreamReader _streamReader = new StreamReader(path);
IList<Guid> userIds = new List<Guid>();
string line;
while ((line = _streamReader.ReadLine()) != null)
{
string[] fields = line.Split(',');
IExtranetUser extranetUser = new ExtranetUser();
extranetUser.Name = fields[0];
extranetUser.UserName = fields[1];
extranetUser.Email = fields[2];
extranetUser.IsApproved = true;
IExtranetUser addedUser = ExtranetFacade.AddNewUser("Default", extranetUser);
userIds.Add(addedUser.Id);
ExtranetFacade.SetUsersForGroup("Default", new Guid("bc728100-e28e-4135-a14c-bead6e0b9b00"), userIds);
Response.Write(string.Format("User: {0} added at {1}", addedUser.UserName, addedUser.CreationDate));
}
}
}
はい、既存のユーザー データベースをインポートできます。これを行うには、スクリプトを作成して Web サイトで実行するか、基礎となる SQL テーブル / XML ファイルを直接操作します (複合 C1 データの格納に使用するものによって異なります)。また、既存のユーザー データベースを Composite C1 Extranet にリンクするプロバイダーを構築することもできます。
プログラムによるユーザーのインポート: スクリプト アプローチについては、 http: //docs.composite.net/Packages/Community/Extranet/CompositeCommunityExtranetDeveloperGuide/Using-Extranet-Facade-Methods で説明されている AddNewUser などのメソッドを参照してください。
このスクリプトは、Composite C1 Web サイトで実行される Web サービス、aspx ページなどとして記述します。
デフォルト設定でエクストラネットを実行している場合は、providerName
「デフォルト」であると想定してください。
物理データ ストアを直接操作する: これは、実行しているデータ ストアによって異なります。必要なグループとテスト ユーザーを追加して、基になる XML ファイルや SQL テーブルを参照するときにデータを認識できるようにすることをお勧めします。
XML (デフォルト) で実行している場合は、フォルダー ~/App_Data/Composite/DataStores にある Composite.Community.Extranet.DefaultProvider.DataTypes.DefaultProvider*.xml という名前のファイルに注目する必要があります。グループ用、ユーザー用、ユーザーとグループ間の関係用の 3 つの sush ファイルがあります。
SQL Server で実行している場合は、Composite.Community.Extranet.DefaultProvider.DataTypes.DefaultProvider* という名前の 3 つのテーブルに注目する必要があります。
どちらの場合も、User テーブル/xml ファイルに新しいエントリを追加し、一致するグループ関係を GroupUser テーブル/xml ファイルに追加する必要があります。ユーザーを追加するときは、一意の ID を提供し、この ID を再利用してユーザーを GroupUser に登録します。
変更を行ったら、[ツール] | [ツール] を使用して Composite C1 を強制的にリロードできます。C1 コンソールでサーバーを再起動するコマンド。変更を加える前にファイル/テーブルのバックアップを作成すると、バックアップを復元することで簡単に元に戻すことができます (最初からやり直す必要がある場合)。
ユーザー/グループ プロバイダーの作成: ユーザー データが外部ストアにあり、それを保持したい場合は、カスタム プロバイダーを作成して、この既存のユーザー ストアと複合 C1 エクストラネットとの間のブリッジを作成することもできます。これが関連する場合は、http://docs.composite.net/Packages/Community/Extranet/CompositeCommunityExtranetDeveloperGuide/Writing-Custom-Extranet-Providers を参照してください。