public bool GetLoginCheck(TextBox userName, TextBox userPass)
{
try
{
SqlConnection myConn = SqlHelper.dbConn();
myConn.Open();
SqlCommand sqlCmd = new SqlCommand("select * from AdminInfo where adminNO = '"+userName.Text+"'",myConn); 
SqlDataReader dataRead = sqlCmd.ExecuteReader();
if(dataRead.Read()) 
{
if(dataRead["adminPWD"].ToString().CompareTo(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(userPass.Text,"MD5")) == 0)
{
DataAccess.Common.Usersave.Power = dataRead["adminPower"].ToString().Trim();
//Log.WriteLoginLog(userName.Text);
dataRead.Close();
myConn.Close();
return true;
}
else
{
userPass.Text = string.Empty;
userPass.Focus();
MessageBox.Show("输入的密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return false;
}
}
else
{
userName.Text=string.Empty;
userPass.Text=string.Empty;
userName.Focus();
MessageBox.Show("没有这个用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return false;
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message+"读取数据错误,请检查数据库是否出错!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

Log.WriteErrorLog("发生登陆异常:"+ex.Message);
return false;
}

解决方案 »

  1.   

    windows登录有这些约束吗?没明白你要什么。
      

  2.   

    晕我不是要实现的方法(当然有的话更好),我想要的是都那些可以使用。那些字符不允许使用,
    MS的登录框都有哪些约束,。我好仿造他的开发阿,汗了
    我的语言有障碍??
    hehe ~~~
      

  3.   

    MS的登录框都有哪些约束,。我好仿造他的开发阿,汗了你应该有一台是和我们一样的电脑,一样的操作系统吧,如果你是要MS的登陆约束,可以在你的电脑上去找吧。呵呵。
      

  4.   

    用户名限制 \ / : * ? " < > | @ + = [ ]  好像就这些   长度是20
    密码好像没有
      

  5.   

    http://dev.csdn.net/author/ch21st/c9659758ce754f84995650e7637a97d9.html
    csdn文档中的一个讲正则表达式的文章
      

  6.   

    我晕了~~~~~~~~~~~~~~
    汗阿..................................用正则不也得知道怎么正马?
    倒了。看来是我的描述有严重的bug。呵呵我要的是:
    用户名:必须有复杂的字符(都有哪些呢?)。过滤非法字符(该过滤得都有什么?)。长度限制为20(多少位)。等等//。就是冒号后面的那些。我现在不知道都该有些什么
    我要的不是实现方法
      

  7.   

    楼上这位貌似明白我的意思了landy_shasha() 谢谢你的理解。呵呵。
      

  8.   

    对,就用正则表达式,这东西是个好左西!在C#相关书籍中有相关介绍,MSDN上也有,如果需要的话,我总结的也有,可以给你发一份!
      

  9.   

    非法字符验证 
    匹配非法字符如:< > & / ' |  --------------------------------------(主要就要的这个)
    正则表达式 [^<>&/|'\]+ -------------------------------------
    多谢楼上的。这个应该有用。MS的安全机制中提供的,就是密码不可以过于简单得功能。太简单(指的不是用户名长度。是复杂程度)
    必须有复杂字符例如@~
    大家谁知道都有哪些
      

  10.   

    晕了,用户名必须复杂的要求~~~~~还有How_do() ,这哥们拿我开心呢是不??
    呵呵,玩笑一个。。
    我上面还说得不明白吗???我要的不是实现方法~~~~~~
    我怒了都。我的主啊`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~哈哈
      

  11.   

    简单给你一个伪代码。。现在没有时间写了有机会给你完整的代码!!!!提交触发事件(){调用 字符串长度验证();
    调用 特殊字符验证();
    调用 大小写转换();//可有可无
    调用 用户输入信息对比验证();
    }
    字符串长度验证(){如果 长度超过XXX
         用户提示框(“长度不合法,请重试!”);
    否则
         返回 ture;
    }
    特殊字符验证(){for(字符 in 非法字符数组){
        如果 ture
             提示(“字符”+字符+“不合法!”);返回 false;}
    }
    大小写转换(必须大写){for(字符 in 用户输入字符){
        如果 ASC(字符)>‘36’并且<'64'{//小写字符域(ASC表示)我忘记了
             提示(“字符”+字符+“不合法,必须为大写!”);返回 false;}}
    } 用户输入信息对比,你了解我不多说了。
      

  12.   

    谢谢geraint999的伪代。艾~~~~~~~郁闷死了,发个问题。大家全来帮我写实现。咋整这可。实现我会。。正则网上也能找的到。。我要的是
    我要的是什么来着????艾`~~~~~~~~
      

  13.   

    用户名一般 只要屏蔽 可以 导致 SQL 注入的特殊字符, 长度一般不超过20
    密码 应该没有什么特殊限制,长度一般也不应该超过20,为了安全的话,同样屏蔽 可以 导致 SQL 注入的特殊字符