ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:26.16KB ,
资源ID:16403251      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16403251.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ASPNET开发大全第23章登录模块方案设计书Word文件下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ASPNET开发大全第23章登录模块方案设计书Word文件下载.docx

1、 用户信息页面:提供用户登录成功后的个人信息页面。在这其中最主要的是登录页面和忘记密码页面,其中很多的函数的实现都需要在这个页面实现,而其他页面主要是作为提示页面存在的。该模块需要使用ASP.NET内置对象对用户的操作进行保存和限制。22.2.2 模块流程分析在对业务进行了基本的划分之后,可以为模块进行基本的流程分析,包括这个模块中最基本的函数,以及这些函数在页面中是如何执行的。首先是登录模块需要提供哪些登录信息,登录模块中最重要的就是用户名和密码,登录模块通常情况下通过用户名和密码进行用户权限的判断。如果用户登录成功,那么用户就是一个合法用户,可以进行后续的操作,如果用户登录失败,则需要让用

2、户选择是否继续登录或者说明忘记密码,如果用户反复尝试则可以认为这个用户可能是非法用户,需要禁止该用户继续进行登录。在了解了基本的模块流程分析后,就可以进行函数和页面的划分,如图23-2所示。图23-2 基本页面的函数分析正如图23-2所示,这里主要起到作用的就是login.aspx页面,这个页面主要包括三个函数ifisuser、forget和forbidden,分别作为判断用户是否为正常用户,以及判断用户是否忘记密码和非法用户等操作。在用户正常登录后,可以使用Redirect方法进行页面跳转,如果用户忘记了密码,需要使用发送邮件函数进行邮件发送,如果用户是非法用户,则需要禁止用户的登录。23.

3、3 数据库设计对于登录表同样需要进行数据库设计,而登录表的数据库设计比较简单,只需要一个简单的用户表就能够进行登录设计。通常情况下注册模块和登录模块是一起协调合作的,登录模块读取用户表的信息而注册模块用于数据的索引和插入。23.3.1 数据库设计分析对于数据库设计分析,只需要简单的进行用户信息表的设计就可以了,但是这里需要使用用户信息表中的邮箱信息进行验证,所以数据库中表的字段可以归纳如下: 用户名:用户的用户名,用于登录使用。 密码:用户的密码,用于登录中输入密码。 email:用户的E-mail,用于发送邮件,如果用户忘记了密码就可以发送到该邮件。 QQ/MSN:用户的QQ或MSN,用于连

4、接。 是否通过:用户的情况,用户保存用户信息,判断用户是否已经被通过。这里最主要的字段是email和password,这两个字段用于发送邮件到用户和判断用户是否被通过。如果用户忘记了密码,可以封锁该用户的用户信息然后发送邮件到用户的邮箱中,通过激活提示用户密码。23.3.2 数据库表的创建创建表可以通过SQL Server Management Studio视图进行创建也可以通过SQL Server Management Studio 查询使用SQL语句进行创建。登录模块的数据库设计比较简单,这里创建一个Login数据库并创建一个表,如图23-3所示。图23-3 数据库表结构正如图23-3中所

5、示,表为用户的基本信息创建了字段,这些字段的意义分别为: id:用于标识用户的ID号,并为自动增长的主键。 username:用于标识用户名。 password:用于标识用户密码。用于标识用户E-mail信息。 msn:用于标识用户的MSN等信息。 passed:用于标识用户是否通过审核。 ask:用于保存用户提示信息的问题。 answer:用于保存用户提示信息的答案。上述字段描述了相应的字段在实际应用中的意义,创建表的SQL语句如下所示。 USE Login GO SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON CREATE TABLE dbo.Logi

6、n( /创建Login表 bh int IDENTITY(1,1) NOT NULL, username nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, password nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, email nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, msn nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, passed nvarchar(50) COLLATE Chinese_PRC_CI_AS NU

7、LL, ask nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, answer nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT PK_Login PRIMARY KEY CLUSTERED ( bh ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY ) ON PRIMARY

8、上述代码创建了一个数据库并将ID设为自动增长的主键,该数据库用于保存用户的基本信息,本模块通常不会更改数据库的信息,只是对数据库进行调用而已。所以在调用之前必须插入若干新数据,示例代码如下所示。 INSERT NTO Login (username,password,email,msn,passed,ask,answer) alues (guojing,123321soundbbghellome,1,”你好吗?,”我很好”)上述代码在数据库中插入了一条用户名为guojing,密码为123321的用户信息,并且这个用户的邮箱为soundbbg,当用户忘记密码时,就会通过这个邮箱发送确认信息。23

9、.4 界面设计登录界面也能够吸引用户眼球,在登录界面也可以进行广告推广,因为一个网站的良好表现能够让用户大量的在登录页面停驻,在登录页面进行良好的设计可以使登录页面具有广告效应也能够提高用户体验。23.4.1 基本界面由于登录模块可能要考虑到很多的扩展,包括广告位之类的,登录页面也可以单独进行一个页面的制作,这些页面包括基本的TextBox和Label控件用于呈现基本的页面信息,示例代码见光盘中源代码第23章23-123-1Default.aspx所示。上述代码在页面中使用了三个Label控件,用于显示用户登录必须的信息,包括指引用户如何填写相应的名称,以及提示是否存在该用户,该页面还包括两个

10、TextBox控件用于用户填写相关的信息,并且为了验证用户是否输入正确,在页面中使用了验证控件对用户输入进行控制,示例代码如下所示。 RequiredFieldValidator2密码不能为空在注册控件已经说明了,验证控件能够验证用户是否输入的是合法的信息,如果用户输入的信息不合法或者输入的信息为空,那么就不应该让操作继续进行,而需要让用户再次进行信息输入。在没有CSS样式控制的情况下,使用了表格进行基本的布局,如图23-4所示。图23-4 基本界面布局23.4.2 创建CSS为了更好的为页面进行页面布局,可以使用CSS进行页面的样式控制。在登录页面中,可以为页面和控件进行样式控制,CSS示例

11、代码如下所示。body /定义全局 font-size:12px; font-family:Geneva, Arial, Helvetica, sans-serif; margin:0px 0px 0px 0px; background:gray;.top /定义头部white;0px auto; margin-top:50px; padding-top:10px; padding-bottom: padding-left: width:490px;18px;.login /定义登录500px;.end /定义底部#f9fbfd;480px; text-align:center; paddin

12、g:10px 10px 10px 10px;上述代码定义了全局页面的字体大小和字体属性,并定义了头部样式、登录主样式和底部样式,定义完成后如图23-5所示。图23-5 CSS样式控制后的页面上述页面的布局非常鲜明,让用户一下就知道登录窗口在哪里,但是这个布局并不方便扩展,也不方便广告位的布局。这里不详细讲解如何进行广告位布局,只是介绍如何对登录页面进行样式布局。23.4.3 发送密码页面对于登录控件而言,需要两个提示页面,这两个提示页面包括发送密码页面和错误信息页面。发送密码页面主要是用于发送忘记密码的用户的密码到用户的邮箱中,这样用户就能够获取相应的信息以登录网站;而错误信息页面主要是用于提

13、示用户输入的次数超过限定的次数,禁止用户再次输入。在这两个页面中,需要进行事务处理的页面只有发送密码页面,发送密码页面需要向指定的用户的邮箱发送邮件,而在发送邮件前,必须让用户输入用户名才能够发送。注意:在用户忘记密码后,必须让用户输入用户信息,然后在数据库中查询相应的用户的邮箱的信息,而不是直接让用户填写邮箱。发送页面示例代码见光盘中源代码第23章23-123-1Mail.aspx所示。其中,代码创建了一个发送邮件页面,当用户填写用户名后,系统会在数据库中查找相应的用户名的用户信息,查找完成后会发送相应的信息到用户的邮箱中,如果用户邮箱正确或者用户提示信息正确,那么系统会发送信息到相应邮箱,

14、如果用户邮箱不正确或者用户提示信息不正确,系统则不会将密码信息发送到用户邮箱。页面布局完成后如图23-6所示。图23-6 发送密码页面发送密码页面需要进行业务处理,在发送密码时,必须填写用户名和用户提示问题以及答案,,才能够保证此用户是一个安全合法的用户。23.5 代码实现在完成基本的CSS页面布局后,就需要进行代码实现,登录模块的代码实现比较复杂,不仅需要查询相应的用户是否是合法用户,当用户忘记密码后,还需要通过邮件进行密码的索取,所以在代码实现中还需要实现邮件发送等功能。23.5.1 登录代码实现在用户进行登录时,必须验证用户是否已经登录,如果已经登录则不需要再次登录,如果没有登录,则允许

15、用户进行登录操作,当用户单击【登录】按钮时,首先会验证用户是否填写信息,如果没有填写则提示用户填写,如果已经填写了,则判断用户是否是合法用户。 protected void Button1_Click(object sender, EventArgs e) string str = server=(local);database=loginuid=sapwd= /连接数据库 SqlConnection con = new SqlConnection(str); /创建连接 con.Open(); /打开连接 string strsql = select * from login where u

16、sername=+TextBox1.Text+ and password=+TextBox2.Text+ SqlDataAdapter da = new SqlDataAdapter(strsql, con); /创建适配器 DataSet ds = new DataSet(); /创建数据集 int count=da.Fill(ds, table); /填充数据集 if (count 0) /登录成功 Sessionname = TextBox1.Text; /赋予Sessionpassword = TextBox2.Text; /赋予Sessionlogin = yes /赋予Sessio

17、n else Label3.Text = 登录失败 /登录失败当需要判断一个用户是否为合法用户时,只需要在数据库中查询出该用户即可,如果查询出该用户,则说明这个用户是存在的;如果查询不出该用户,则说明这个用户是不存在的。查询用户可以使用ADO.NET的DataSet对象,示例代码如下所示。 /创建适配器 /创建数据集 /填充数据集上述代码使用DataSet对象和SqlDataAdapter对象进行数据填充,DataSet对象的Fill方法会返回受影响的行数,当执行查询语句时,如果返回受影响的行数大于0,则说明存在这个用户,如果受影响的行数小于等于0,则说明不存在该用户。在验证用户时一定要同时进

18、行用户名和密码的判断,如果不这样判断,很可能非法用户会猜出用户名就能够进行登录。如果查询出的结果大于0,则说明用户是合法用户,可以为用户赋予ASP.NET内置对象,以保存用户状态,示例代码如下所示。上述代码当用户登录成功时,给每个用户一个Session对象,如果在一定时间内不进行操作或者用户关闭了浏览器进程,系统就会注销该用户。为了保证用户无法重复多次进行登录,可以在登录页面添加一个计数器,这里可以使用一个Label控件进行计数控制,Label控件可以设置为不可见,初始值为0,示例代码如下所示。Label ID=Label4 Text=0 Visible=FalseLabel在执行登录代码时,

19、首先要判断该控件的值。这里设置登录4次后就无法登录了,示例代码如下所示。 if (Convert.ToInt32(Label4.Text) 4) /登录操作 /判断操作如下 0) /判断登录次数 /提示登录失败 int times = Convert.ToInt32(Label4.Text); /登录次数 Label4.Text = (times + 1).ToString(); /登录次数加一您已经被禁止登录,请稍后再登录 /静止登录上述代码首先会判断计数器中的值是不是小于4,如果小于4,则可以进行登录操作,否则就会禁止用户登录。在登录失败时,必须让计数器的值加1,否则计数器的值永远小于4。

20、23.5.2 邮件发送页面在用户需要索取自己的密码时,系统对用户进行邮件发送功能的实现和使用,这样就保证了用户信息的机密性,而用户可以在自己的邮箱中获取密码。邮件发送示例代码如下所示。 protected void TextBox1_TextChanged(object sender, EventArgs e) /创建连接字串 /创建连接对象 /打开连接 string strsql = + TextBox1.Text + /编写SQL语句 int count = da.Fill(ds, /填充数据集 0) /查找用户 Label5.Text = ds.Tables.Rows0ask.ToString(); /提示用户信息 Label2.Text = /清空错误信息没有这个用户 /提示用户信息当用户填写用户名并失去焦点时,系统会在数据库中查询相关的用户信息,如果包括该用户,则会提示这个用户的提问信息;如果没有这个用户,则提示没有这个用户,如图23-7所示。图23-7 搜索用户信息当用户填写完用户名和用户提示问题答案后,系统会判断用户答案是否正确,如果用户的答案是正确的,就会发送邮件到用户邮箱;如果用户答案不正确,则会提示用户再次输入答案,示例代码如下所示。 /配置SQL语句 /获取数据 0) /如果存在用户 if (TextBox2.Text

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1