在asp.net中实现用户验证管理系统
创建一个web应用,这个应用将要完成的任务有
1. 创建一个包含membership服务的web应用,创建一个用户
2. 使用login控件,得到用户的凭证以及显示登录用户的信息
3. 在网站里创建一个目录 里面的页面只有登录用户才能访问
4. 允许网站创建新用户
5. 用户可以修改和重置
我的开发环境WindowsXP Pro、Visual Studio 2005 team suit,sql server2005 express
工作开始
一、创建一个网站
1. 打开visual studio,file菜单,选择 New web site
2. 选择asp.net web site,在location下来框里选择http,然后点击browser按钮,点击对话框右上的Create New Web Application图标,命名为membership,点击open按钮关闭对话框
3. 选择工作语言(c#等)
4. 点击OK
网站创建后 会默认生成一个default.aspx页面
二、配置membership
1. 创建一个新的文件夹在网站里命名为MemberPages
2. 创建一个membeship用户
a. 在菜单website里选择Asp.net configuration,在打开的网页里选择Security tab页,点击Use the security Setup Wizard to configure security step by step链接。
b. 在向导第2步里选择 From the Internet 选项 这里是让你的网站使用Form的身份认证。
c. 点击Next 这步还是默认使用sql server2005 express并会在App_Data目录里生成数据库文件。
d. 点击Next 这里不要选择Enable roles for this web site。
e. 点击Next 这时是创建一个用户 输入User Name ,Password,,E-mail, Security Question and Security Answer ,创建用户。这里顺便说下membership默认的密码设置是比较严格的需要字母数字加特殊字符,可以在web.config中给membership的密码指定一个正则表达式,来修改密码的规则。
3. 创建一个规则 限制访问一个指定的目录
a. 接着刚才的向导继续next,进入创建访问规则页面,在显示网站目录的框里,展开目录,选择刚才我们创建的MemberPages的文件夹
b. 在Rule applies to下选择Anonymous users,在Permission下选择deny,这样就限制了匿名用户访问目录的权限。
c. 点击add this rule权限创建,然后Finish。
三、为应用配置一个E-mail,这个操作的目的是为了恢复密码时发送密码给用户
在asp.net configuration的网页里 选择Application tab页面,在Smtp Settings下 点击Configure SMTP e-mail settings.链接,这个配置一个smtp服务器以及一个email账号,配置完email就可以关闭 这个配置页面了。
四、用户登录
打开default.aspx页面,使用design视图,然后拖上一个login控件组里的loginstatus控件。接着建一个login.aspx页面,在这个例子里的页面的名字一定要取成login.aspx,在默认情况下 当匿名用户访问受限制的页面时,会自动转到login.aspx,这个默认设置可以通过配置更改的,这里就使用默认。在login.aspx页面上拖放一个login控件组里的login控件,再放置一个ValidationSummary控件,用来现实填写的出错信息,将ValidationSummary的ValidationGroup属性设置成login控件的id名称。
显示登录用户信息,选择default.aspx页面拖上一个loginview控件,使用loginview智能标签(smart tag),选择模板AnonymousTemplate,写上”你没有登录,点击login链接登录”,然后再选择模板LoggedInTemplate,写上”欢迎”字符,再在后面拖上一个loginname控件。
这之后,可以先测试一下这个页面,使用上面建立的用户进行登录,看看结果。
五、建立只能用户访问的页面
在上面建立的MemberPages文件夹里建立一个Members.aspx页面,写上only member can see this page,然后 我们在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控件。