不太明白你想问什么。
我来说说吧。如果有用户表,程序中,把用户的输入的帐号和密码取出来,拿到数据库里查询匹配,如果有,验证通过。反之,不通过。
如果没有表,可以通过其他的方式
1、程序写死。
2、写文本文件(可以编码)
3、windows身份验证。
我来说说吧。如果有用户表,程序中,把用户的输入的帐号和密码取出来,拿到数据库里查询匹配,如果有,验证通过。反之,不通过。
如果没有表,可以通过其他的方式
1、程序写死。
2、写文本文件(可以编码)
3、windows身份验证。
解决方案 »
- 名称中不能包含“=”字符(十六进制值 0x3D)。 行 1,位置 10。具体要怎么解决呀?谢谢!
- 【求救】 mshtml.HTMLDocument和WebBrowser.Document查找网页中的元素,csExWB,cEXWB,
- 如何调用另一个项目中的函数
- 急,急,急,web.config配置问题??
- (C#.net)在内存中生成的缩略图,如何把该缩略图赋给image控件来显示?
- 如何在dataGridView1里限制某一单元格输入的字符只能是数字或小数点呀。
- 急等版主和高手!!!!一个让人头痛的SQL Server与datagrid问题
- 窗体的关闭问题?
- 检测U盘插入和拔出遇到的问题?
- 还是那个XML问题
- 如何增加事件
- 〔高分〕程序在自己的机器上运行好好的,可是到了别人的机器上窗体的尺寸及控件的大小都发生了变化,
private void btn_login_Click(object sender, System.EventArgs e)
{
string wid = textBoxWorkID.Text;
string wpass = textBoxPassword.Text;
string uid;
bool IsSuperUser = false;
try
{
uid =Login(wid,wpass,ref IsSuperUser);
if (uid == "")
{
MessageBox.Show("工号或密码错!");
textBoxWorkID.Text = "";
textBoxPassword.Text = "";
return;
}
}
catch (Exception)
{
MessageBox.Show("服务连接错误");
return;
}
Frm_main m= new Frm_main(wid,uid,wpass,IsSuperUser);
Hos.Frm_main.hosMainForm = m;
m.Show();
this.Hide();
}
public string Login(string employeeNo,string Password,ref bool IsSuperUser)
{
sqlConn.Open();
string employeeId = "";
//1 校验sys_SuperUser是否超级用户
sqlCommand1.CommandText = "Select password from sys_superuser where username='"+employeeNo+"'";
SqlDataReader dReader = sqlCommand1.ExecuteReader();
while (dReader.Read())
{
if (Password == dReader["password"].ToString())
{
IsSuperUser = true;
employeeId = "admin";
}
}
dReader.Close();
//2 校验Hr_employee
sqlCommand1.CommandText = "Select employeeid,password from hr_employee where employeeno='"+employeeNo+"'";
dReader = sqlCommand1.ExecuteReader();
while (dReader.Read())
{
if (Password == dReader["password"].ToString())
{
employeeId = dReader["employeeId"].ToString();
}
}
dReader.Close();
sqlConn.Close();
return employeeId;
}
还有权限,string strUserName=TxtUserName.Text.Trim();
string strUserPwd=TxtUserPwd.Text.Trim();
string strSql="Select * From UserInfo where UserName='"+strUserName+"' and UserPwd='"+strUserPwd+"'";
SqlConnection myConn=new SqlConnection("server=192.168.0.36;uid=sa;pwd=;database=FDINFO");
myConn.Open();
SqlCommand myCmd=new SqlCommand(strSql,myConn);
SqlDataReader myDr=myCmd.ExecuteReader();
if(myDr.Read())
{
this.Hide(); //登陆窗体
FormMain.Show(); //主窗体
}
Else
{
MessageBox.Show("用户不存在!");
}
myConn.Close();//还有strUserName,strUserPwd记得要处理单引号
http://www.microsoft.com/taiwan/msdn/elearning/ADOdotNETSecurity.htm让你得到意外的收获:)
有的话就可以不用建新表了。没有的话:
1)新建一个表
2)直接放在一个文本里,加密后再存。
3)程序写死,这种方法不好。
4)写入XML