Asp.Net技术前瞻--张明Blog
posts - 52, comments - 125, trackbacks - 68, articles - 0
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
Asp.Net2.0下C#环境 Login控件实现用户登录
Posted on 2008-04-29 11:46
张明
阅读(1494)
评论(4)
编辑
收藏
网摘
所属分类:
ASP.NET2.0
一、前台显示效果
二、前台代码
<
asp:Login
ID
="Login1"
runat
="server"
BackColor
="#F7F7DE"
BorderColor
="#CCCC99"
BorderStyle
="Solid"
BorderWidth
="1px"
Font-Names
="Verdana"
Font-Size
="10pt"
OnAuthenticate
="Login1_Authenticate"
>
<
TitleTextStyle
BackColor
="#6B696B"
Font-Bold
="True"
ForeColor
="White"
/>
<
LayoutTemplate
>
<
table
border
="0"
cellpadding
="1"
cellspacing
="0"
style
="border-collapse: collapse"
>
<
tr
>
<
td
>
<
table
border
="0"
cellpadding
="0"
>
<
tr
>
<
td
align
="center"
colspan
="2"
style
="font-weight: bold; color: white; background-color: #6b696b"
>
用户登录
</
td
>
</
tr
>
<
tr
>
<
td
align
="right"
>
<
asp:Label
ID
="UserNameLabel"
runat
="server"
AssociatedControlID
="UserName"
>
用户名:
</
asp:Label
></
td
>
<
td
>
<
asp:TextBox
ID
="UserName"
runat
="server"
CssClass
="STYLE1"
></
asp:TextBox
>
<
asp:RequiredFieldValidator
ID
="UserNameRequired"
runat
="server"
ControlToValidate
="UserName"
ErrorMessage
="必须填写“用户名”。"
ToolTip
="必须填写“用户名”。"
ValidationGroup
="Login1"
>
*
</
asp:RequiredFieldValidator
>
</
td
>
</
tr
>
<
tr
>
<
td
align
="right"
>
<
asp:Label
ID
="PasswordLabel"
runat
="server"
AssociatedControlID
="Password"
>
密码:
</
asp:Label
></
td
>
<
td
>
<
asp:TextBox
ID
="Password"
runat
="server"
TextMode
="Password"
CssClass
="STYLE1"
></
asp:TextBox
>
<
asp:RequiredFieldValidator
ID
="PasswordRequired"
runat
="server"
ControlToValidate
="Password"
ErrorMessage
="必须填写“密码”。"
ToolTip
="必须填写“密码”。"
ValidationGroup
="Login1"
>
*
</
asp:RequiredFieldValidator
>
</
td
>
</
tr
>
<
tr
>
<
td
align
="right"
>
<
asp:Label
ID
="Label1"
runat
="server"
AssociatedControlID
="Password"
>
验证码:
</
asp:Label
></
td
>
<
td
>
<
asp:TextBox
ID
="GetCode"
runat
="server"
CssClass
="STYLE2"
></
asp:TextBox
>
<
asp:RequiredFieldValidator
ID
="RequiredFieldValidator1"
runat
="server"
ControlToValidate
="Password"
ErrorMessage
="必须填写“验证码”。"
ToolTip
="必须填写“验证码”。"
ValidationGroup
="Login1"
>
*
</
asp:RequiredFieldValidator
><
asp:Image
ID
="Image1"
runat
="server"
ImageUrl
="~/include/GetValidate.aspx"
ImageAlign
="Top"
alt
="看不清?点击更换"
onclick
="this.src=this.src+'?'"
/>
</
td
>
</
tr
>
<
tr
>
<
td
align
="center"
colspan
="2"
style
="color: red"
>
<
asp:Literal
ID
="FailureText"
runat
="server"
EnableViewState
="False"
></
asp:Literal
>
</
td
>
</
tr
>
<
tr
>
<
td
align
="center"
colspan
="2"
>
<
asp:Button
ID
="LoginButton"
runat
="server"
CommandName
="Login"
Text
="登录"
ValidationGroup
="Login1"
/></
td
>
</
tr
>
</
table
>
</
td
>
</
tr
>
</
table
>
</
LayoutTemplate
>
</
asp:Login
>
三、后台代码
protected
void
Login1_Authenticate(
object
sender, AuthenticateEventArgs e)
{
TextBox GetCode
=
Login1.FindControl(
"
GetCode
"
)
as
TextBox;
//
获取登陆控件中验证码文本框值
if
(Request.Cookies[
"
CheckCode
"
].Value
==
null
)
{
Response.Write(
@"
<script language=JavaScript>{window.alert('您的浏览器设置已被禁用 Cookies,您必须设置浏览器允许使用 Cookies 选项后才能使用本系统!');}</script>
"
);
return
;
}
else
{
if
(String.Compare(Request.Cookies[
"
CheckCode
"
].Value, GetCode.Text.ToString().Trim(),
true
)
!=
0
)
{
Response.Write(
@"
<script language=JavaScript>{window.alert('验证码输入不正确!');}</script>
"
);
return
;
}
string
UserLoginID
=
Login1.UserName.ToString().Trim().Replace(
"
'
"
,
""
).Replace(
"
=
"
,
""
);
//
得到输入的用户名
string
UserLoginPwd
=
Login1.Password.ToString().Trim().Replace(
"
'
"
,
""
).Replace(
"
=
"
,
""
);
//
得到输入的密码
//
得到md5值
string
md5Pwd
=
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(UserLoginPwd,
"
md5
"
).ToLower();
string
mySql
=
"
select * from [User] where [sLoginID]='
"
+
UserLoginID
+
"
' and [LoginPWD]='
"
+
md5Pwd
+
"
'
"
;
//
下面部署自己的逻辑处理,以下仅供参考
DBConn myDB
=
new
DBConn();
try
{
SqlDataReader Rs
=
myDB.getDataReader(mySql);
if
(
!
Rs.Read())
{
e.Authenticated
=
false
;
//
登录不通过
}
else
{
Session[
"
UserLoginID
"
]
=
UserLoginID;
Session[
"
UserLoginPwd
"
]
=
UserLoginPwd;
e.Authenticated
=
true
;
//
登录通过
Response.Redirect(
"
index.aspx
"
);
}
}
catch
(Exception ex)
{
Response.Write(
"
数据库错误,错误原因:
"
+
ex.Message);
Response.End();
}
}
}
四、关于验证码可以本Blog的随笔中找到,地址为:
http://www.cnblogs.com/zm235/archive/2006/10/02/520233.html
Tag标签:
Asp.Net2.0下C#环境
,
Login控件实现用户登录
,
Login控件用法
Feedback
#1楼
回复
引用
2008-05-20 09:16 by
束锋 [未注册用户]
验证码为什么显示不出来呀
#2楼
[
楼主
]
回复
引用
查看
2008-05-20 11:12 by
张明
--引用--------------------------------------------------
束锋: 验证码为什么显示不出来呀
--------------------------------------------------------
四、关于验证码可以本Blog的随笔中找到,地址为:
http://www.cnblogs.com/zm235/archive/2006/10/02/520233.html
#3楼
回复
引用
2008-05-22 23:11 by
束锋 [未注册用户]
非常感谢.解决了....我之前自己设置错误了.
#4楼
回复
引用
2008-10-29 11:36 by
wzw200 [未注册用户]
谢谢你的代码 解决了我们问题 谢谢你
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
网站首页
新闻频道
社区
小组
博问
网摘
人才
找找看
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2008-05-09 11:03 编辑过
Google站内搜索
相关文章:
相关搜索:
Asp.Net2.0下C#环境
Login控件实现用户登录
Login控件用法
相关链接:
所属分类的其他文章:
asp.net2.0为DataList和GridView内容项添加序号
Asp.Net2.0下C#环境 Login控件实现用户登录
IFRAME滚动条的样式
asp.net下Split分隔字符串的应用
[原创]Asp.net2.0下(数据库主表,子表)实现TreeView控件的树型目录。
[原创]Asp.net2.0下利用Global.asax全局文件实现流量分析
[原创]Asp.net2.0 VS 2005下的repeater控件本功能分页实例(共有 条记录 共有几页 当前第 页 首页,上一页,下一页,尾页 DropDownList跳转)
File文件控件,选中文件(图片,flash,视频)即立即预览显示
ASP.NET结合存储过程写的通用搜索分页程序
GridView记录删除前的确认窗口
最新IT新闻:
后“开放”平台时代
李彦宏首次表态竞价排名问题:有错能改善莫大焉
杨致远发表博客解释辞职原因
微软公布免费安全软件计划
《时代》:杨致远被Google玩弄于股掌之间?
Powered by:
博客园
Copyright © 张明
与我互动
给我发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
(7)
给我留言
查看私人留言
我参与的团队
昆明.NET俱乐部(0/116)
我的标签
存储过程(1)
存储过程返回值(1)
获取存储过程返回值(1)
AjaxControlToolkit(1)
Ajax(1)
AjaxControlToolkit控件集详解(1)
AjaxControlToolkit学习(1)
Asp.Net2.0下C#环境(1)
Login控件实现用户登录(1)
Login控件用法(1)
更多
随笔分类
ADO.NET(4)
Ajax&Altas(6)
ASP.NET1.0(3)
ASP.NET2.0(22)
C#(4)
DataGrid
DropDownList
GridView(4)
Java(1)
JavaScript(3)
Microsoft SQL Server(1)
正则表达式(1)
自娱自乐(3)
我的好友
第一视频在线
提供最新最全的国内外DVD大片高速在线观看
搜夜网|国内最大的夜场门户网
搜夜网,城市门户,web2.0,夜生活,地图,搜夜卡,会员,论坛,地图,积分,打折,商家,点评
积分与排名
积分 - 36895
排名 - 1240
最新随笔
1. asp.net2.0为DataList和GridView内容项添加序号
2. [原创]完美Js(Javascript)代码自动成器
3. 金额转换,把金额转换成为汉字大写金额!
4. 使用存储过程并返回值与及返回值的获得方法
5. AjaxControlToolkit的安装与使用详解
6. 更新公告,本Blog从即日起开始更新,基本保证每天一更,欢迎广大开发者提出宝贵意见
7. Asp.Net2.0下C#环境 Login控件实现用户登录
8. IFRAME滚动条的样式
9. asp.net下Split分隔字符串的应用
10. [原创]Asp.net2.0下(数据库主表,子表)实现TreeView控件的树型目录。
最新评论
1. re: Asp.Net2.0下C#环境 Login控件实现用户登录
谢谢你的代码 解决了我们问题 谢谢你
--wzw200
2. re: Ajax实现无刷新树
也发给我一份AjaxPro好吗?等着急用,谢谢!
--ajun