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); } );
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; } } }