用户登录及用户管理模块设计剖析_第1页
用户登录及用户管理模块设计剖析_第2页
用户登录及用户管理模块设计剖析_第3页
用户登录及用户管理模块设计剖析_第4页
用户登录及用户管理模块设计剖析_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.1 用户登录需求建模我们使用系统时,首先必须以合法的用户名和密码登录系统,只有合法的用户才能使用,不同类型的用户拥有不同的权限。“用户登录”模块是系统的入口,是不同类型的管理信息系统的一个通用模块,通常将用户信息存储在数据表中。1.绘制用户登录模块的用例图图‑“用户登录”的用例图第1页/共29页第一页,共30页。2.用户数据库操作类使用的登录控件,内嵌使用了MemberShip类和MemberShipUser类对用户进行管理,在此不再做设计。3.用户登录类使用使用的登录控件,内嵌使用了MemberShip类和MemberShipUser类,在此不再做设计。4.“用户登录”的顺序图用户登录顺序图如图所示。5.“用户登录”活动图“用户登录”活动图如图所示。图‑“用户登录”顺序图第2页/共29页第二页,共30页。4.2 用户登录实现4.2.1 成员资格和角色管理简介4.2.2 启用成员资格和角色管理4.2.3 登录窗体设计4.2.4 登录后的其他设计第3页/共29页第三页,共30页。4.2.1成员资格管理ASP.NET成员资格管理是用来验证和管理Web应用程序中的用户信息。包括验证用户凭据、创建和修改用户以及管理用户设置等。通过成员资格,可以使用选择的数据源管理应用程序的用户身份验证,而不需要其他大量代码来与成员资格数据源进行通信。虽然ASP.NET成员资格主要用于ASP.NETForms身份验证,但也可用于ASP.NET应用程序中的任何位置。第4页/共29页第四页,共30页。4.2.1成员资格的功能ASP.NET成员资格支持下列功能:创建和管理用户信息实现用户身份验证提供对多种数据存储区中的成员资格管理实现成员资格个性化设置和角色管理(授权)系统集成第5页/共29页第五页,共30页。4.2.1成员资格管理提供程序关系第6页/共29页第六页,共30页。4.2.1成员资格管理若要使用成员资格,要注意以下几点:存储成员资格的数据存储区:默认情况下,成员资格信息存储在MicrosoftSQLServer数据库中,并由内置的成员资格提供程序实现数据库访问。成员资格提供程序:成员资格提供程序可以在web.config中指定。Membership类和MembershipUser类为成员资格定义用户帐户。将应用程序配置为使用Forms身份验证(与Windows或Passport身份验证不同)。第7页/共29页第七页,共30页。4.2.1SQLServer数据库配置

ASP.NET包括一个名为Aspnet_regsql.exe的工具,该工具用来安装SQLServer提供程序所使用的SQLServer数据库。Aspnet_regsql.exe工具默认情况位于Web服务器上的C:\WINDOWS\Microsoft.NET\Framework\versionNumber(版本号)文件夹中。第8页/共29页第八页,共30页。aspnet_regsql命令行常用参数

参数说明-Sservername要安装的SQLServer实例-Uloginid进行身份验证的SQLServer用户名-Ppassword进行身份验证的SQLServer密码-A添加对一项或多项功能的支持-R表示在数据库中删除对一项或多项的支持-ddatabasename要创建或修改的数据库的名称-sqlexportonly生成可用于添加或移除指定功能的SQL脚本文件第9页/共29页第九页,共30页。修改配置文件

<connectionStrings><removename="LocalSqlServer"/><!--修改machine.config文件不用加此行--><addname="LocalSqlServer"connectionString="Server=(local);Database=aspnetdb;UserID=sa;Password=YourPassword;Trusted_Connection=False"

/></connectionStrings>修改machine.config文件(该文件在C:\WINDOWS\Microsoft.NET\Framework\versionNumber\CONFIG下,该文件配置对服务器上所有网站应用程序起作用),也可以修改web.config文件(该文件配置仅对当前网站应用程序起作用):

第10页/共29页第十页,共30页。修改配置文件(续)

<membership><providers> <addname="AspNetSqlMembershipProvider"type="System.Web.Security.SqlMembershipProvider,System.Web,Version=,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"connectionStringName="LocalSqlServer"enablePasswordRetrieval="false"enablePasswordReset="true"requiresQuestionAndAnswer="true"applicationName="/"requiresUniqueEmail="false"passwordFormat="Hashed"maxInvalidPasswordAttempts="5"minRequiredPasswordLength="7"minRequiredNonalphanumericCharacters="1"passwordAttemptWindow="10"passwordStrengthRegularExpression=""/></providers></membership>注:以上配置已经加入到machine.config文件中,若当前应用程序无需修改,则不必在Web.config文件中添加。第11页/共29页第十一页,共30页。4.2.2 启用成员资格和角色管理在中,如果使用内的用户登录以及用户管理,应先启用系统的成员资格和角色管理功能。启用后,可以创建新用户、新角色、创建访问规则等。1.“网站”→“ASP.NET配置”,打开如图4‑4所示界面。单击“提供程序配置”。弹出如图所示界面。单击“为所有站点管理数据同一提供程序”,配置完成。第12页/共29页第十二页,共30页。2.设置完成后,进入“安全”页面,选择“选择身份验证类型”→“通过Internet”,设置完毕后,单击“完成”返回“安全页面”,这样就启用了Forms身份验证。A中可以使用windows验证、Forms验证、Passport验证和None验证,其中使用最多的是Forms验证(也称为表单验证)。3.启用“角色管理”,在“安全”界面的“角色”一栏选择“启用角色”,设置完成后,如图所示。第13页/共29页第十三页,共30页。4.创建角色创建角色的主要目的是提供一种管理用户访问规则的便捷方法,给不同的用户赋予不同的权限。单击上页图中中的“创建或管理角色”,然后创建“sysAdmin”、“eduAdmin”、“teacher”、“student”四个角色。5.创建用户单击上页图中的“创建用户”,弹出如下图所示界面,创建了一个系统管理员账户。第14页/共29页第十四页,共30页。6.创建访问规则定义角色访问文件夹的权限,也就是规则。这样可以将受限制的网页单独放到一个文件中,只允许某种类型的用户访问。如“SysAdmin文件”夹只允许“SysAdmin”角色访问,禁止匿名访问和其它角色的访问。单击前图中的“创建访问规则”,转到下图所示界面,创建的四条规则。创建完成后在所创建规则的文件夹下生成一个web.config文件,其中配置了此文件夹得访问权限。如sysAdmin文件夹下生成的web.config文件,其中<authorization>内容为:<authorization><allowroles="sysAdmin"/><denyroles="eduAdmin"/><denyroles="student"/><denyroles="teacher"/><denyusers="?"/></authorization>

其中“?”是通配符,表示匿名用户。第15页/共29页第十五页,共30页。<appSettings><addkey="ValidationSettings:UnobtrusiveValidationMode"value="None"/></appSettings><authenticationmode="Forms"><formsname="./Login"loginUrl="~/Login.aspx"/></authentication>Web.config文件修改(续)第16页/共29页第十六页,共30页。4.2.3 登录窗体设计1.在文件夹“Account”中,建立名称为Login.aspx的web窗体。2.在Login.aspx的源文件的<head>标记内引入sysadminCss.css文件。<linkhref="~/Styles/SysadminCss.css"type="text/css"rel="Stylesheet"/>3.在sysadminCss.css中创建div.login类如下:div.login{ padding:4px0px4px8px; position:absolute; top:100px; left:100px;}指定页面<divclass="login"></div>。第17页/共29页第十七页,共30页。4.添加“login”控件。“工具箱”→“登录”选项卡下拖动“login”控件至页面<div>标记内,创建ID为login1的登录控件,将login控件的DestinationPageUrl属性设置为登录成功之后要打开的网页的URL,本处设置为~default.aspx。5.设计login控件外观,如右图所示。创建登录窗体第18页/共29页第十八页,共30页。6.设置login.aspx为启动页面“网站”→“启动选项”命令,在如图410所示界面的“特定页”文本框内输入“Account/login.aspx”,单击“确定”按钮。第19页/共29页第十九页,共30页。4.2.4登录后的其他设计一、各控件简要介绍1.LoginName控件显示登录用户的名称。如果用户使用成员资格登录,LoginName控件显示该用户的登录名,如果网站使用集成windows身份验证,该控件显示用户的windows账户名。2.LoginStatus控件检测用户的登录状态,并在网页上添加“登录”或“注销”链接。3.LoginView控件为不同角色的用户显示不同的内容模板,它具有三个模板。AnonymousTemplate模板:指示向未登录到网站的匿名用户显示的内容。登录用户永远看不到此模板内容。LoggedInTemplate模板:指定向登录到网站但不属于任何具有已定义模板的角色组的用户显示的内容。角色组模板:指定向已登录且是具有已定义角色组模板的角色的成员显示的内容。第20页/共29页第二十页,共30页。二、设计过程1.打开“sysAdmin.master”母版页。2.在母版页SiteMapPath控件的后面分别放置LoginView控件和LoginStatus控件,如图所示。3.在“LoginView任务”菜单上,从“视图”列表选择AnonymousTemplate模板,然后此模板中输入“欢迎你,游客”,如图所示。4.在“LoginView任务”菜单上,从“视图”列表选择LoggedInTemplate模板,在该模板中添加“LoginName”控件,将其FormatString属性设置为“欢迎你,{0}”;在该模板中添加LinkButton控件,将其Text属性设置为“更改密码”,ID属性设置为“changPwd”如图所示。第21页/共29页第二十一页,共30页。5.修改LoginStatus控件的LogoutAction属性值,控制用户注销后的动作。此处LogoutPageUrl属性设置为RedirectToLoginPage。6.运行网页,登录,观察其变化。第22页/共29页第二十二页,共30页。4.3 修改密码页设计实现使用changPassword控件可以使用户方便的更改登录该网站所使用的密码。使用changPassword控件创建修改密码页的过程如下:1.在Account文件上单击右键,选择“添加新项”命令,建立名称为changePassword.aspx的web窗体。2.在changePassword.aspx的源文件的<head>标记内引入sysadminCss.css文件。<linkhref="~/Styles/SysadminCss.css"type="text/css"rel="Stylesheet"/>3.“工具箱”→“登录”选项卡下拖动“”控件至页面<form>标记内,创建ID为changPwd的登录控件,将ChangePasswordlogin控件的。第23页/共29页第二十三页,共30页。4.将其ContinueDestinationPageUrl属性设置为网站的首页,即~/default.aspx。5.将其SuccessPageUrl属性设置为"~/Account/ChangePasswordSuccess.aspx"。6.对外观进行自定义。打开sysAdmin.master母版页,在<head>标记内写入:<scriptlanguage="javascript"type="text/javascript">voidfunctionopenchangpwd(url){window.showModalDialog(url);}</script>7.“LoginView”控件中ID“changPwd”的LinkButton控件的OnClientClick属性设置为openwebWindow('Account/changePassword.aspx.aspx')。8.最后设计界面如图所示。第24页/共29页第二十四页,共30页。课堂练习利用本课成员资格管理的知识,修改第一次的课堂练习:增加注册页面,这样网站根目录下至少有3个页面:Default.aspx,Login.aspx,Register.aspx(可能还有Logout.aspx)。首页(De

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论