ユーザーの削除

Forguncyではユーザーの削除を行うための以下のメソッドを提供しています。

Forguncy.deleteUser(userName, successCallback, errorCallback)

ユーザー名を指定して、ユーザーを削除します。フォーム認証のユーザーとWindows認証のユーザーのどちらのユーザーも削除できます。

パラメーター

userName

Type: String

削除したいユーザーのユーザー名。

successCallback

Type: Function()

ユーザーの削除が成功したときに実行するコールバック関数を指定します。

errorCallback

Type: Function( String errorMessage )

ユーザーの削除が失敗したときに実行するコールバック関数を指定します。 引数にエラーメッセージが渡されます。

 

 サンプルコード

Forguncy.deleteUser("user1",
    function () {             // ユーザーの削除に成功した場合
        alert("ユーザーが削除されました。");
    },
    function (errorMessage) {        // ユーザーの削除に失敗した場合
        alert(errorMessage);
    }
);

 

JavaScript以外の言語の場合

HTTPリクエストを送信する方法であれば、どのようなプログラミング言語からもユーザーの削除を行うことが可能です。以下はC#によるサンプルコードとなっており、C# 4.0およびJson.NET(Newtonsoft)が必要です。

class Program 
{ 
    static void Main(string[] args) 
    { 
        var forguncyUserOperator = new ForguncyUserOperator("http://localhost/Forguncy/", "Administrator", "123456"); 
        forguncyUserOperator.DeleteUser("user1"); 
    } 
} 
  
class ForguncyUserOperator 
{ 
    string _baseUrl; 
    string _administratorName; 
    string _administratorPassword; 
    public ForguncyUserOperator(string baseUrl, string administratorName, string administratorPassword) 
    { 
        _baseUrl = baseUrl; 
        _administratorName = administratorName; 
        _administratorPassword = administratorPassword; 
    } 
    public void DeleteUser(string userName) 
    { 
        var requestUrl = "Account/DeleteUser"; 
        var request = new 
        { 
            userName = userName 
        }; 
        ExecuteAction(requestUrl, request); 
    } 
    private void ExecuteAction(string requestUrl, object requestData) 
    { 
        var loginCookie = GetLoginCookie(); 
        HttpWebRequest rq = HttpWebRequest.Create(_baseUrl + requestUrl) as HttpWebRequest; 
        rq.CookieContainer = loginCookie; 
        rq.Method = WebRequestMethods.Http.Post; 
        rq.ContentType = "application/json"; 
        var requestStr = JsonConvert.SerializeObject(requestData); 
        var bytes = Encoding.UTF8.GetBytes(requestStr); 
        rq.ContentLength = bytes.Length; 
        var requestStream = rq.GetRequestStream(); 
        requestStream.Write(bytes, 0, bytes.Length); 
        var response = rq.GetResponse(); 
        var result = new StreamReader(response.GetResponseStream()).ReadToEnd(); 
        var apiResult = JsonConvert.DeserializeObject<ApiResult>(result); 
        if (apiResult.Result == false) 
        { 
            throw new Exception(apiResult.Message); 
        } 
    } 
    CookieContainer GetLoginCookie() 
    { 
        var login = _baseUrl + "Account/Login"; 
        HttpWebRequest rq = HttpWebRequest.Create(login) as HttpWebRequest; 
        rq.CookieContainer = new CookieContainer(); 
        rq.Method = WebRequestMethods.Http.Post; 
        rq.Accept = "application/json"; 
        rq.ContentType = "application/json"; 
        var loginStr = "{userName:\"" + _administratorName + "\", password:\"" + _administratorPassword + "\",rememberMe:true }"; 
        var data = Encoding.UTF8.GetBytes(loginStr); 
        using (Stream stream = rq.GetRequestStream()) 
        { 
            stream.Write(data, 0, data.Length); 
        } 
        var response = rq.GetResponse(); 
        return rq.CookieContainer; 
    } 
    class ApiResult 
    { 
        public bool Result { get; set; } 
        public string Message { get; set; } 
    } 
}