自己实现用户登录验证

lan_wang 2010-11-25 08:45:30
最近在看英文版ASP.NET 3.5 Enterprise Application
Development with Visual Studio® 2008,感觉此书很不错。现在我只看完1-6章,其它章节我觉得用不上,就没去看。
现在有个困惑,想请高手抽空指点下:
那paidtimeoff数据库中已经建有角色表(ENTRole)、用户表(ENTUserAccount)及用户角色表(ENTRoleUserAccount)。
接下来该怎么利用这些表来实现“登录验证”?
我的意思是想做一个default.aspx页面,在此页面上放置类似login控件,只有输入正确用户名和密码后,才能重定向到主页面进行后续操作。
(我知道在vs2008中用asp.net网站管理工具很容易实现用户登录验证之类,但现在就是想用现有的数据库框架)
说下大概的思路即可,3KS!

给些关于这方面有用的链接也可以,谢谢!
...全文
285 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lan_wang 2010-11-25
  • 打赏
  • 举报
回复
谢谢各位!
二楼三楼的意思我明白,实现后自然就能OK。
但我刚刚才注意到,那个用户表中居然没有“密码”这一字段……真是晕倒
看来只有把那本书全部看完后再来请教各位
3KS!
Ny-6000 2010-11-25
  • 打赏
  • 举报
回复
多看帮助.会有用的.
lansecheng 2010-11-25
  • 打赏
  • 举报
回复
最简单的一种 string cmdtxt="select id from [ENTUserAccount] where username='"+用户名 +"'" and password='"+密码+"'";
sqlcommand cmd=new sqlcommand(str,con);
con.open();object o=cmd.executeScalar();con.close()
if(o==DBnull.value)
return false;//登陆失败 账号密码错误
else
return true;//账号密码正确 返回ture
然后你可以在页面调用这个方法,如果返回值是true 你就可以跳转页面,否则就不跳转。
但是最好的登陆方法使用存储过程,安全
xinshouno7 2010-11-25
  • 打赏
  • 举报
回复

protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
bool Authenticated = false;
Authenticated = SiteLevelCustomAuthenticationMethod(Login1.UserName, Login1.Password);
e.Authenticated = Authenticated;
if (Authenticated == true)
{
Response.Redirect("Home.aspx");
}
}
private bool SiteLevelCustomAuthenticationMethod(string UserName, string Password)
{
bool boolReturnValue = false;
// Insert code that implements a site-specific custom
// authentication method here.
// This example implementation always returns false.
//这里是你数据库的信息
string strConnection = "server=dtpxp-skumari;database=master;uid=sa;pwd=;";
SqlConnection Connection = new SqlConnection(strConnection);
String strSQL = "Select * From Employee";
SqlCommand command =new SqlCommand(strSQL, Connection);
SqlDataReader Dr;
Connection.Open();
Dr=command.ExecuteReader();
while (Dr.Read())
{
if ((UserName == Dr["name"].ToString()) & (Password == Dr["Password"].ToString()))
{
boolReturnValue = true;
}
Dr.Close();
return boolReturnValue;
}
}

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧