--不写一行代码在asp.net中实现用户验证管理系统
这篇文章我们将实现一个简单的网站,在网站中实现用户的身份验证,创建用户,修改密码 还有限制匿名用户访问某些目录等功能,最神奇的是使用asp.net2.0实现我们几乎不用手工写一行代码。--不知道以后程序员要做些什么事了:(!!
我们手工从头创建一个web应用,学习其中的一些技术,这个应用将要完成的任务有
1. 创建一个包含membership服务的web应用,创建一个用户
2. 使用login控件,得到用户的凭证以及显示登录用户的信息
3. 在网站里创建一个目录 里面的页面只有登录用户才能访问
4. 允许网站创建新用户
5. 用户可以修改和重置
我的开发环境windows2003,iis6.0,vs2005 team suit英文版,sql server2005 express
工作开始
一、在本地IIS上创建一个网站
1. 打开visual studio,file菜单,选择 New web site
2. 选择asp.net web site,在location下来框里选择http,然后点击browser按钮,在弹出框里选择local IIS,打开Local Web Server,选择默认网站(default web site),点击对话框右上的<b>Create New Web Application</b>图标,命名为membership,点击open按钮关闭对话框。
3. 选择工作语言(c#等),以后在创建其他网页时 可以选择不同的语言 :)
4. 点击OK
网站创建后 会默认生成一个default.aspx页面 我们留着他就可以了,也可以删除他 重新创建一个页面
二、配置membership
1. 创建一个新的文件夹在网站里命名为MemberPages
2. 创建一个membeship用户
a. 在菜单website里选择Asp.net configuration,在打开的网页里选择Security tab页,点击<b>Use the security Setup Wizard to configure security step by step</b>链接。
b. 在向导第2步里选择 <b>From the Internet </b>选项 这里是让你的网站使用Form的身份认证,原因在membership介绍 文章里讲过。
c. 点击Next 这步还是默认使用sql server2005 express并会在<b>App_Data</b>目录里生成数据库文件。
d. 点击Next 这里不要选择<b>Enable roles for this web site</b>
3. 创建一个规则 限制访问一个指定的目录
a. 接着刚才的向导继续next,进入创建访问规则页面,在显示网站目录的框里,展开目录,选择刚才我们创建的MemberPages的文件夹。
b. 在<b>Rule applies to</b>下选择<b>Anonymous users</b><b>,</b>在<b>Permission</b>下选择deny,这样就限制了匿名用户访问目录的权限。
c. 点击add this rule权限创建,接着是Finish.
三、为应用配置一个E-mail
这个操作的目的是为了恢复密码时发送密码给用户
还是在asp.net configuration的网页里 选择Application tab页面,在Smtp Settings下 点击<b>Configure SMTP e-mail settings</b>.链接,这个配置一个smtp服务器以及一个email账号。
配置完email就可以关闭 这个配置页面了。
四、用户登录
打开default.aspx页面,使用design视图,在上面写个welcome什么的,然后拖上一个login控件组里的loginstatus控件。接着建一个login.aspx页面,在这个例子里我们的页面的名字一定要取成login.aspx,在默认情况下 当匿名用户访问受限制的页面时,会自动转到login.aspx,这个默认设置可以通过配置更改的,这里我们就使用默认。
在login.aspx页面上拖放一个login控件组里的login控件,再放置一个<b>ValidationSummary</b>控件,用来现实填写的出错信息,将ValidationSummary的ValidationGroup属性设置成login控件的id名称。
显示登录用户信息
选择default.aspx页面拖上一个loginview控件,使用loginview智能标签(smart tag),选择模板<b>AnonymousTemplate</b>,写上”你没有登录,点击login链接登录”,然后再选择模板<b>LoggedInTemplate</b>,写上”欢迎”字符,再在后面拖上一个loginname控件。
这之后,你可以先测试一下你的页面 使用我们上面建立的用户进行登录,看看不同的显示。
五、建立只能用户访问的页面
在我们上面建立的MemberPages文件夹里建立一个Members.aspx页面,写上welcome member,然后 我们在default.aspx页面上拖一个HyperLInk控件,在NavigateUrl属性里写上~/memberPages/Members.aspx
这里也可以进行一次测试
六、创建新用户
在根目录里建立一个register.aspx,在页面上拖放一个CreateUserWizard控件并把它的ContinueDestinationPageUrl属性设置成~/default.aspx,这个属性是对你点击Finish之后跳转的页面。接着在页面里添加一个Hyperlink控件,NavigateUrl设置成~/default.aspx.最后在default.aspx页面里添加一个指向register.aspx页面的链接,为了好看一点 我们把这个链接放到loginview控件的AnonymousTemplate模板里。
测试一下
七、修改密码
在MemberPages文件夹里创建一个ChangePassword.aspx文件,拖上一个ChangePassword控件也把它的ContinueDestinationPageUrl属性设置成~/default.aspx。接着在default.aspx页面里添加一个指向changepassword.aspx页面的链接, 我们把这个链接放到loginview控件的LoggedInTemplate模板里。
测试
八、重置密码
在根目录里建立一个recoverypassword.aspx文件,拖一个passwordrecovery控件,并放一个链接指向default.aspx.之后在default.aspx的loginview控件的AnonymousTemplate模板里添加一个链接指向recoverypassword控件。
这样整个例子完成 大家也可以看到 我们没有写一行代码。:)
<a href="http://9efish.com//Membership%E5%AD%A6%E4%B9%A0%EF%BC%88%E4%BA%8C%EF%BC%89membership%E5%85%A5%E9%97%A8xgluxv"></a>
本文转自 lu xu 博客园博客,原文链接: http://www.cnblogs.com/dotLive/archive/2006/07/15/451441.html ,如需转载请自行联系原作者