Forguncyマニュアル
ユーザーアカウント管理 REST API
Forguncyの使い方 > コーディングによるカスタマイズ > ユーザーアカウント管理 REST API

ユーザーアカウント管理REST APIは、Forguncyのユーザー管理サービスに対して、新しいユーザーを作成する、作成したユーザーをロールに追加するといったすべてのユーザー管理に必要な操作をREST APIで提供します。フォーム認証、およびWindows認証のユーザーに対してのみ使用が可能となっており、認証プロバイダーのユーザーはサポートされません。

本REST APIはForguncyアプリケーションや外部アプリケーションから使用することを想定したものではなく、Forguncy Serverがインストールされているコンピューターからの呼び出しにおいてのみ動作します。Forguncyアプリケーションや外部アプリケーションからユーザー管理を行いたい場合には、本REST APIを呼び出すカスタムWeb APIを作成する、もしくは本REST APIを呼び出すバッチプログラムなどを作成してそれをサーバーサイドコマンドから呼び出す等の方法で実現する必要があります。

参考:

次のコードは、「Bob」と「Andy」の2人のユーザーを作成、「Group1」という組織を作成し、その組織に作成したユーザー2人を追加するC#のサンプルコードです。

C#
コードのコピー
public ResultData AddUsers()
{
    var user1 = new { UserName = "Bob", FullName = "Bob Smith", Password = "123456", Email = "Bob@mail.com" };
    var user2 = new { UserName = "Andy", FullName = "Andy Brown", Password = "123456", Email = "Andy@mail.com" };
    var userInfos = new { UserInfos = new List<object> { user1, user2 } };
    var url = "http://localhost:22345/UserService/Manager/User/AddUsers";
    return Reqest(url, userInfos);
}
 
public ResultData AddOrgnization()
{
    var organization = new { OrganizationName = "Group1", ParentOrganizationPath = "GrapeCity/Development1", OrganizationLevel = "SubDepartment" };
    var url = "http://localhost:22345/UserService/Manager/Organization/AddOrganization";
    return Reqest(url, organization);
}
 
public ResultData AddUsersToOrganization()
{
    var user1 = new { UserName = "Bob", IsLeader = false, OrganizationRole = "Intern" };
    var user2 = new { UserName = "Andy" };
    var userInfos = new { Users = new List<object> { user1, user2 }, OrganizationPath = "GrapeCity/Development1/Group1" };
    var url = "http://localhost:22345/UserService/Manager/Organization/AddUsersToOrganization";
    return Reqest(url, userInfos);
}
 
private ResultData Reqest(string url, object param)
{
    ServicePointManager.SecurityProtocol = SecurityProtocolType.SystemDefault;
    HttpWebRequest rq = HttpWebRequest.Create(url) as HttpWebRequest;
    rq.Method = WebRequestMethods.Http.Post;
    rq.ContentType = "application/json; charset=utf-8";
    var postValueString = JsonConvert.SerializeObject(param);
    var data = Encoding.UTF8.GetBytes(postValueString);
    using (Stream stream = rq.GetRequestStream())
    {
        stream.Write(data, 0, data.Length);
    }
    var response = (HttpWebResponse)rq.GetResponse();
    if (response.StatusCode == HttpStatusCode.OK)
    {
        using (var streamReader = new StreamReader(response.GetResponseStream()))
        {
            var resultStr = streamReader.ReadToEnd();
            return JsonConvert.DeserializeObject<ResultData>(resultStr);
        }
    }
    return null;
}

APIリファレンス

ユーザー

AddUsers

ユーザーアカウントを追加します。

AddWindowsUsers

Windowsドメインにユーザーアカウントを追加します。

DeleteUsers

指定したユーザーのユーザーアカウントを削除します。

DeleteWindowsUsers

指定したWindowsドメインユーザーアカウントを削除します。

UpdateUserInfo

指定したユーザーのユーザーアカウント情報を更新します。

UpdateWindowsUserInfo

指定したWindowdドメインのユーザーアカウント情報を更新します。

ResetUserPassword

指定したユーザーのパスワードを新しくします。

GetUserInfo

指定したユーザーのユーザーアカウント情報を取得します。

GetWindowsUserInfo

指定したWindowsドメインのユーザーアカウント情報を取得します。

GetUserInfos

Forguncyのユーザーアカウント情報をすべて取得します。
ロール名を指定することで、そのロールのユーザーアカウント情報を取得できます。

GetWindowsUserInfos

Windowsドメインのユーザーアカウント情報をすべて取得します。
ロール名を指定することで、そのロールのユーザーアカウント情報を取得できます。

ロール

AddRole

ロールを追加します。

DeleteRole

ロールを削除します。

UpdateRoleName

ロール名を変更します。

GetRoles

登録しているロールをすべて取得します。

AddUsersToRole

ユーザーをロールに追加します。

AddWindowsUsersToRole

Windowsドメインのユーザーをロールに追加します。

RemoveUsersFromRole

指定したユーザーをロールから削除します。

RemoveWindowsUsersFromRole

指定したWindowsドメインのユーザーをロールから削除します。

組織

AddOrganizationLevel

組織レベルを追加します。

DeleteOrganizationLevel

組織レベルを削除します。

UpdateOrganizationLevel

組織レベルを変更します。

GetOrganizationLevels

組織レベルを取得します。


AddOrganization

組織を追加します。
オプションのOrganizationLevelを指定すれば、組織レベルを割り当てた組織を追加できます。

DeleteOrganization

組織を削除します。

UpdateOrganizationInfo

組織を更新します。

GetOrganizationInfos

組織情報を取得します。

AddUsersToOrganization

ユーザーを組織に追加します。

AddWindowsUsersToOrganization

Windowsドメインのユーザーを組織に追加します。

RemoveUsersFromOrganization

指定したユーザーを組織から削除します。

RemoveWindowsUsersFromOrganization

Windowsドメインのユーザーを組織から削除します。

MoveEntireOrganization

組織全体を移動します。

拡張属性

AddExtendedProperty

拡張属性を追加します。

DeleteExtendedProperty

拡張属性を削除します。

UpdateExtendedPropertyName

属性名を変更します。

GetExtendedProperties

拡張属性を取得します。