【发布时间】:2011-02-12 20:44:16
【问题描述】:
我有一个保存旧密码的新表,我需要检查是否匹配。
如果匹配,我需要 ChangePassword 控件来不更改密码。我需要告诉用户此密码已被使用,并创建一个新密码。
我似乎无法阻止控件更改密码。 也许我使用了错误的事件。
这是我的一段代码,或者我希望它如何工作。 感谢您的所有帮助。
protected void ChangePassword1_ChangedPassword(object sender, EventArgs e)
{
MembershipUser user = Membership.GetUser();
string usrName = "";
if (user != null)
{
string connStr = ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString;
SqlConnection mySqlConnection = new SqlConnection(connStr);
SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
mySqlCommand.CommandText = "Select UserName from OldPasswords where UserName = 'test'";
mySqlConnection.Open();
SqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader(CommandBehavior.Default);
while (mySqlDataReader.Read())
{
usrName = mySqlDataReader["UserName"].ToString();
if (usrName == user.ToString())
{
Label1.Text = "Match";
}
else
{
Label1.Text = "NO Match!";
}
}
【问题讨论】:
-
我不确定您要在这里做什么。您谈到想要验证旧密码,但您的 SQL 语句检索用户名并且从不检查密码。您如何验证密码本身?
-
是的,你是对的,那段代码在不同的页面上,我只是很快地整理了一个测试页面,很抱歉造成混乱。我只是在中断过程本身时遇到了麻烦。感谢您的意见。
-
@Sky - 是的,我实际上已经完成了,我现在正在清理代码,进行更多测试。我会尽快发布。再次感谢您的所有帮助!
-
我需要的所有感谢都是赞成票和复选标记!很乐意提供帮助。
标签: c# asp.net-membership membership membership-provider