/// <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; }
public void AppendStringFact() { const string S = @"朧"; var secureString = new SecureString(); secureString.AppendString(S); var s = secureString.GetString(); Assert.Equal(S, s); }
/// <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); }