/// <summary> /// 新しいメンバーシップユーザーをデータソースに追加します。 /// </summary> /// <returns> /// 新しく作成されたユーザーの情報が格納された <see cref="T:System.Web.Security.MembershipUser"/> オブジェクト。 /// </returns> /// <param name="username">新しいユーザーのユーザー名。</param> /// <param name="password">新しいユーザーのパスワード。</param> /// <param name="email">新しいユーザーの電子メール アドレス。</param> /// <param name="passwordQuestion">新しいユーザーのパスワードの質問。</param> /// <param name="passwordAnswer">新しいユーザーのパスワードの解答。</param> /// <param name="isApproved">新しいユーザーを承認するかどうか。</param> /// <param name="providerUserKey">メンバーシップ データ ソースでのユーザーの一意の識別子。</param> /// <param name="status">ユーザーが正常に作成されたかどうかを示す <see cref="T:System.Web.Security.MembershipCreateStatus"/> 列挙値。</param> public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { status = MembershipCreateStatus.ProviderError; // パスワードの保護 var securePassword = new SecureString(); securePassword.AppendString(password); // 認証の作成 var membership = new DomainModels.Membership( new MembershipEntity { Name = username, Password = securePassword, }); var result = MembershipCreateStatus.ProviderError; membership.Created += (sender, entity) => { result = MembershipCreateStatus.Success; }; membership.Create(); status = result; var user = default(KandaMembershipUser); membership.Found += (sender, entity) => { user = new KandaMembershipUser(entity); }; membership.Find(); return(user); }
/// <summary> /// 新しいメンバーシップユーザーをデータソースに追加します。 /// </summary> /// <returns> /// 新しく作成されたユーザーの情報が格納された <see cref="T:System.Web.Security.MembershipUser"/> オブジェクト。 /// </returns> /// <param name="username">新しいユーザーのユーザー名。</param> /// <param name="password">新しいユーザーのパスワード。</param> /// <param name="email">新しいユーザーの電子メール アドレス。</param> /// <param name="passwordQuestion">新しいユーザーのパスワードの質問。</param> /// <param name="passwordAnswer">新しいユーザーのパスワードの解答。</param> /// <param name="isApproved">新しいユーザーを承認するかどうか。</param> /// <param name="providerUserKey">メンバーシップ データ ソースでのユーザーの一意の識別子。</param> /// <param name="status">ユーザーが正常に作成されたかどうかを示す <see cref="T:System.Web.Security.MembershipCreateStatus"/> 列挙値。</param> public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { status = MembershipCreateStatus.ProviderError; // パスワードの保護 var securePassword = new SecureString(); securePassword.AppendString(password); // 認証の作成 var membership = new DomainModels.Membership( new MembershipEntity { Name = username, Password = securePassword, }); var result = MembershipCreateStatus.ProviderError; membership.Created += (sender, entity) => { result = MembershipCreateStatus.Success; }; membership.Create(); status = result; var user = default (KandaMembershipUser); membership.Found += (sender, entity) => { user = new KandaMembershipUser(entity); }; membership.Find(); return user; }
/// <summary> /// データ ソースからユーザーの情報を取得します。 /// ユーザーの最終利用日時スタンプを更新するオプションも提供されます。 /// </summary> /// <returns> /// データ ソースから取得された指定のユーザーの情報が格納された <see cref="T:System.Web.Security.MembershipUser"/> オブジェクト。 /// </returns> /// <param name="username"> /// ユーザー情報を取得するユーザーの名前。 /// </param> /// <param name="userIsOnline"> /// ユーザーの最終利用日時スタンプを更新する場合は true。 /// ユーザーの最終利用日時スタンプを更新しないでユーザー情報を返す場合は false。 /// </param> public override MembershipUser GetUser(string username, bool userIsOnline) { var membership = new DomainModels.Membership(new MembershipEntity { Name = username, }); var user = default(KandaMembershipUser); membership.Found += (sender, entity) => { user = new KandaMembershipUser(entity); }; membership.Find(); return(user); }
/// <summary> /// 指定のユーザー名とパスワードがデータソースに存在しているかどうかを検証します。 /// </summary> /// <returns> /// 指定したユーザー名とパスワードが有効な場合は true。それ以外の場合は false。 /// </returns> /// <param name="username">検証対象のユーザー名。</param> /// <param name="password">指定したユーザーのパスワード。</param> public override bool ValidateUser(string username, string password) { // 文字列の保護 var secure = new SecureString(); secure.AppendString(password); // Name、Password 検証 var entity = new MembershipEntity { Name = username, Password = secure, }; var membership = new DomainModels.Membership(entity); membership.Find(); return (0 < membership.ID); }
/// <summary> /// 指定のユーザー名とパスワードがデータソースに存在しているかどうかを検証します。 /// </summary> /// <returns> /// 指定したユーザー名とパスワードが有効な場合は true。それ以外の場合は false。 /// </returns> /// <param name="username">検証対象のユーザー名。</param> /// <param name="password">指定したユーザーのパスワード。</param> public override bool ValidateUser(string username, string password) { // 文字列の保護 var secure = new SecureString(); secure.AppendString(password); // Name、Password 検証 var entity = new MembershipEntity { Name = username, Password = secure, }; var membership = new DomainModels.Membership(entity); membership.Find(); return(0 < membership.ID); }
public ActionResult Find() { if (!this.User.Identity.IsAuthenticated) { throw new AuthenticationException(@"MembershipController.Find()"); } if (this.MembershipID == DomainModels.Memberships.ANONYMOUS) { return(this.RedirectToRoute(@"DefaultSignIn")); } var membership = new DomainModels.Membership(new MembershipEntity { ID = this.MembershipID, }); var view = default(ViewResult); membership.Found += (sender, entity) => { view = this.View(@"Membership", entity); }; membership.Find(); return(view); }
/// <summary> /// データ ソースからユーザーの情報を取得します。 /// ユーザーの最終利用日時スタンプを更新するオプションも提供されます。 /// </summary> /// <returns> /// データ ソースから取得された指定のユーザーの情報が格納された <see cref="T:System.Web.Security.MembershipUser"/> オブジェクト。 /// </returns> /// <param name="username"> /// ユーザー情報を取得するユーザーの名前。 /// </param> /// <param name="userIsOnline"> /// ユーザーの最終利用日時スタンプを更新する場合は true。 /// ユーザーの最終利用日時スタンプを更新しないでユーザー情報を返す場合は false。 /// </param> public override MembershipUser GetUser(string username, bool userIsOnline) { var membership = new DomainModels.Membership(new MembershipEntity { Name = username, }); var user = default(KandaMembershipUser); membership.Found += (sender, entity) => { user = new KandaMembershipUser(entity); }; membership.Find(); return user; }