ابتدا کد زیر را برای بررسی نام کاربری و رمز عبور عبور وارد کنید:
public bool CheckUserName(string UserName)
{
bool res = false;
MembershipUserCollection membersCollection = Membership.GetAllUsers();
MembershipUser[] members = new MembershipUser[membersCollection.Count];
membersCollection.CopyTo(members, 0);
for (int i = 0; i < members.Length; i++)
{
if (UserName == members[i].UserName)
res = true;
}
}
return res;
}
public bool CheckPassword(string Pass)
{
bool res = false;
if (Pass.Length >= 5)
res = true;
else
res = false;
return res;
}
این کد رو هم برای دریافت خطا بنویس:
public string GetErrorMessageCreateUser(MembershipCreateStatus status)
{
switch (status)
{
case MembershipCreateStatus.DuplicateUserName:
return "لطفا نام کاربری دیگری وارد نمایید، نام کاربری وارد شده در سایت موجود می باشد";
case MembershipCreateStatus.DuplicateEmail:
return "آدرس ایمیل وارد شده قبلا در بانک سایت ثبت شده است، لطفا آدرس ایمیل دیگری وارد نمایید.";
case MembershipCreateStatus.InvalidPassword:
return "فرمت پسورد وارد شده اشتباه است ، لطفاً مجدداً سعی کنید.";
case MembershipCreateStatus.InvalidEmail:
return "آدرس ایمیل وارد شده صحیح نمی باشد ، لطفا آدرس ایمیل دیگری وارد نمایید.";
case MembershipCreateStatus.InvalidAnswer:
return "The password retrieval answer provided is invalid. Please check the value and try again.";
case MembershipCreateStatus.InvalidQuestion:
return "The password retrieval question provided is invalid. Please check the value and try again.";
case MembershipCreateStatus.InvalidUserName:
return "The user name provided is invalid. Please check the value and try again.";
case MembershipCreateStatus.ProviderError:
return "The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
case MembershipCreateStatus.UserRejected:
return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
default:
return "یک خطای ناشناخته اتفاق افتاده است ، لطفاً مجدداً سعی فرمایید ، چنانچه برطرف نشد با شرکت پشتیبان تماس بگیرید.";
}
}
و سپس برای عضویت کاربر از کد زیر استفاده کنید:
bool userNameExists = false;
bool passwordLength = false;
//بررسی نام کاربری
userNameExists = CheckUserName(txtUserName.Text);
//بررسی صحت کلمه عبور
passwordLength = CheckPassword(txtPassword.Text);
//---------------------------------------------
if ((!userNameExists) && (passwordLength))
{
MembershipCreateStatus mcu = new MembershipCreateStatus();
MembershipUser newUser = Membership.CreateUser(txtUserName.Text, txtPassword.Text, txtEmail.Text, txtQuestion.Text, txtAnswere.Text, True, out mcu);
if (newUser == null)
{
lbl_alerterror.Text = GetErrorMessageCreateUser(mcu);
}
else
{
//تخصیص نقش به کاربر
Roles.AddUserToRole(txtUserName.Text, "User");
lbl_alertsuccess.Text = "با موفقیت ثبت شد";
}
}
else
{
if (userNameExists)
{
txtUserName.Focus();
Panel_alerterror.Visible = true;
lbl_alerterror.Text = "نام کاربری تکراری است";
}
if (!passwordLength)
{
txtPassword.Focus();
Panel_alerterror.Visible = true;
lbl_alerterror.Text = "رمز عبور باید 5 کاراکتر باشد"
}
}