- 浏览: 1024232 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (445)
- Java (22)
- J2EE (18)
- Flex (102)
- Flex-blazeds (1)
- Flex-FABridge (2)
- Flex4 (3)
- CheckStyle (2)
- PowerDesigner (0)
- POI (2)
- Java2Word (2)
- 杂项 (15)
- 日记 (3)
- 数据库-oracle (41)
- 数据库-SQLServer (7)
- 中间件 (1)
- 英语 (8)
- C# (43)
- ASP.net (72)
- ASP.net MVC (28)
- 微软-Entity Framework (19)
- JavaScript (22)
- JQuery (31)
- EasyUI (3)
- VS2010 (4)
- CVS (1)
- Tomcat (3)
- Linux (1)
- 遗留问题 (1)
- iphone (1)
- MAC (0)
- 系统 (2)
- Web Service (4)
- Cache Manager (1)
- PMP (1)
- WCF (10)
- BootstrapJs (1)
- Web API (6)
- Go语言 (0)
- 网络协议 (2)
- Redis (10)
- RabbitMQ (10)
- Git (3)
- Kafka (5)
- ELK (5)
- Nginx (3)
- 测试 (2)
最新评论
-
ygm0720:
Table行拖拽自己实现 -
程乐平:
Flex4开发视频教程(27集)下载http://bbs.it ...
Flex4教程 -
liuweihug:
Jquery+asp.net 后台数据传到前台js进行解析的办 ...
AJAX $.toJSON的用法或把数组转换成json类型 -
weilikk:
谢谢谢谢!!
javascript IE下不能用 trim函数解决方法 -
gxz1989611:
vigiles 写道请问楼主:[Fault] exceptio ...
blazeds推送技术至Flex
在前面两篇文章里,我们了解了一下如何配置membership以及roleManager,那么配置成功后又该如何应用呢?其实ASP.NET给我们提供了一套登录控件,我们可以使用这套控件,轻松的来完成一些通用的功能,例如:注册,登录等。
那么配置好之后第一件事情就是注册用户了,注册用户其实很简单,我们只需新建一个页面,然后在页面中拖出一个CreateUserWizard控件,然后运行页面。好了,没有写一行代码,但是注册功能就已经实现了!就是这么简单!效果见下图:
所有的文本框都是不能为空的,填完所有的空后,点击创建用户。这时,用户就已经被创建了。方便吧!需要注意的是在输入密码时可能会出现“密码最短长度为 7,其中必须包含以下非字母数字字符: 1。 ”这样的提示。这是因为我们在配置的时候<membership>节点下<add>中有两项配置是这样写的:
minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1"
第一个minRequiredPasswordLength="7"是密码最短长度,我们设定的密码最短为7位
第二个minRequiredNonalphanumericCharacters="1"这个配置的意思就是说密码中必须包含不是字母也不是数字的字符的个数,是为了加强密码强度,不过这个提示还真是容易让用户费解,我建议还是把这个配置设为0。
这些提示可能有些给人感觉有点不是非常确切,不过我们可以在该控件的属性窗口中去修改提示的文本,例如:
<asp:CreateUserWizard ID="CreateUserWizard1" runat="server" InvalidPasswordErrorMessage="密码最短长度为 {0},其中必须包含以下非字母数字字符: {1}。"> <WizardSteps> <asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server"> </asp:CreateUserWizardStep> <asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server"> </asp:CompleteWizardStep> </WizardSteps> </asp:CreateUserWizard>
其他提示属性可以再设计模式下,看到中文提示,就不在一一说明了。
从上面的过程我们可以看到,web.config中的配置是会影响到前台控件的功能的,例如:requiresUniqueEmail用 来设置是否需要唯一的Email,当用户输入的Email之前被注册过时,如果该选项为“true”则会给出错误提示,反之则不然。又比如:当 requiresQuestionAndAnswer=”true"时,CreateUserWizard控件就会要求用户输入安全提示问题和安全答案, 当该选项为"false"时,则不会要求输入提示问题和答案。
当然如果我们要把这个控件用到项目中去,默认的外观真的不能算是好看,那么能不能去改变控件的默认外观呢?答案是肯定的!来看如下代码
<asp:CreateUserWizard ID="CreateUserWizard1" runat="server" InvalidPasswordErrorMessage="密码最短长度为 {0},其中必须包含以下非字母数字字符: {1}。" ContinueDestinationPageUrl="~/Default2.aspx"> <WizardSteps> <asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server"> <ContentTemplate> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td>用户名:</td> <td><asp:TextBox runat="server" ID="UserName"></asp:TextBox></td> </tr> <tr> <td>密码:</td> <td><asp:TextBox runat="server" ID="Password"></asp:TextBox></td> </tr> <tr> <td>确认密码:</td> <td><asp:TextBox runat="server" ID="ConfirmPassword" TextMode="Password"></asp:TextBox></td> </tr> <tr> <td>Email:</td> <td><asp:TextBox runat="server" ID="Email"></asp:TextBox></td> </tr> <tr> <td>安全提示问题:</td> <td><asp:TextBox runat="server" ID="Question"></asp:TextBox></td> </tr> <tr> <td>安全答案:</td> <td><asp:TextBox runat="server" ID="Answer"></asp:TextBox></td> </tr> <tr> <td colspan="2" class="style1"><asp:Literal runat="server" ID="ErrorMessage"></asp:Literal></td> </tr> </table> </ContentTemplate> </asp:CreateUserWizardStep> <asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server"> <ContentTemplate> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td>恭喜!帐户注册成功!</td> </tr> <tr><asp:Button runat="server" ID="ContinueButton" CommandName="Continue" Text="完成" /></tr> </table> </ContentTemplate> </asp:CompleteWizardStep> </WizardSteps> </asp:CreateUserWizard>
上面的例子使用了自定义模板的方式定制了CreateUserWizard控件的外观,在CreateUserWizardStep下<ContentTemplate>中添加自定义内容,效果见下图:
填写所有内容后,点击创建用户。<CompleteWizardStep>中内容就会显示出来 。效果如下:
需要注意的是:所有文本框控件的ID属性都是固定的。见下表
UserName:用户名,必选
Password:密码,必选
ConfirmPassword:确认密码,可选
Email:Email如果web.config中RequireEmail为true,则必选
Question:密码找回提示问题,如果requiresQuestionAndAnswer为true,则必选
Answer:密码找回答案,同上
ErrorMessage:错误提示,可选,这个需要是Label控件或是Literal控件
按钮则需要设置CommandName属性。一共有3种:
Cancel:取消按钮,可选,可以通过修改CreateUserWizard控件的CancelDestinationPageUrl属性,来设定当用户取消时跳转的页面
Continue:继续按钮,可选,可以通过修改ContinueDestinationPageUrl属性,来设定当用户注册完成点击继续按钮时跳转到的页面
CreateUser:注册按钮,可选。
基本上,注册的功能就已经全部实现了。但是有一部分网站在你注册成功后,向你注册的邮箱中发送一封注册确认邮件。这个功能如果要我们自己写,也 是比较麻烦的。其实CreateUserWizard控件给我们提供了这个功能,只需要简单的设置一下,那么在用户注册成功后,将会立刻收到一封确认邮 件。具体的实现过程如下:
在CreateUserWizard控件中加入如下代码:
<asp:CreateUserWizard ID="CreateUserWizard1" runat="server" > <MailDefinition BodyFileName="~/mail.txt" Priority="High" From="123@123.com" IsBodyHtml="true" Subject="新用户注册通知!"> <EmbeddedObjects> <asp:EmbeddedMailObject Name="customerPic" Path="~/images/DSC00130.jpg" /> </EmbeddedObjects> </MailDefinition> <WizardSteps> 代码省略... </WizardSteps> </asp:CreateUserWizard>
<MailDefinition>这个节点就是确认Email相关的设置,每个属性的具体含义为:
BodyFileName:邮件的正文,邮件的正文存放在一个文本文件中,通过该属性指明文本文件的路径即可。
Priority:优先级。
From:发件人,这个Email就是让注册用户看到的发件人的地址。
IsBodyHtml:指明发送的正文中是否为HTML,如果在正文中使用了html标签,就必须把该属性设为“true”
Subject:邮件标题
<EmbeddedObjects>:在邮件中嵌入的资源列表,如上例,在邮件中可以使用<img src="cid:customerPic" alt="test" />这样的代码来引用
下面列举mail.txt的内容:
<html> <head><title></title></head> <body> <h1>欢迎您注册本网站</h1> <p> 您的用户名为:<% UserName %><br/> 您的密码为:<% Password %> </p> <p> <a href="http://www.cnblogs.com/xlb2000"> <img src="cid:customerPic" alt="" /> </a> </p> </body> </html>
需要说明的是:在发送邮件之前,控件会将<% UserName %>和<% Password %>分别替换为刚才注册过的用户名和密码。
还差最后一步:就是需要添加服务器smtp设置,配置如下:
<configuration> <system.net> <mailSettings> <smtp deliveryMethod="Network"> <network host="smtp.163.com" userName="用户名" password="密码" port="25"/> </smtp> </mailSettings> </system.net> <system.web> </system.web> </configuration>
这个配置告诉CreateUserWizard控件,在发送邮件时的邮件服务器,用户名密码,端口(默认25)等信息
ok所有配置全部搞定,现在赶紧试着去注册一个用户吧!
有注册当然就得有登陆,密码找回,等等这些功能了,MS也当然给我们提供了这些组件,不过相比CreateUserWizard控件就比较简单了,在这里就不再详述,具体参考msdn就可以了。
发表评论
-
DotNet 资源大全(下)
2018-07-12 10:18 590HTML 和 CSS(HTML and CSS) ... -
DotNet 资源大全(上)
2018-07-12 10:17 740API 框架 NancyF ... -
asp.net mvc处理css和js版本问题
2018-05-24 16:40 1409当服务的修改了js和css内容后,发布到II ... -
分布式系统调用链监控
2018-02-22 14:36 866分布式系统调用链监 ... -
IIS 优化
2017-06-28 21:57 1685通过对IIS7的配置进行优化,调整IIS7应用池的队列长度, ... -
IIS初始化(预加载),解决第一次访问慢,程序池被回收问题
2017-06-28 21:39 2081读在最前面: 1、本文以IIS8,Windows Se ... -
使用C# 和Consul进行分布式系统协调
2017-05-11 10:41 1311随着大数据时代的到来,分布式是解决大数据问题的一个主要手段, ... -
查看IIS上面的每个网站分别用了多少内存
2017-05-05 12:57 881IS服务器上面运行了多个网站,想查看每个网站具体使用了系统多 ... -
Asp.net WebApi版本控制
2017-03-06 10:34 832关web api的版本控制网上有很多,如Web API 版本 ... -
.Net下RabbitMQ的使用(9) -- 在WCF下使用RabbitMQ
2016-12-19 10:42 1014RabbitMQ .net客户端通过自定义的Binding ... -
.Net下RabbitMQ的使用(8) -- 远程过程调用RPC
2016-12-19 10:42 1060RPC是在计算中是一种 ... -
.Net下RabbitMQ的使用(7) -- 消息的传输控制
2016-12-19 10:41 977前文中也多次提到消息传输的一些概念,这一篇比较全面的介绍一 ... -
.Net下RabbitMQ的使用(6) -- 持久化
2016-12-19 10:41 757消息的持久化是消息 ... -
.Net下RabbitMQ的使用(5) -- 路由机制
2016-12-19 10:41 535理清路由机制是了解RabbitMQ来龙去脉的关键。在前面的 ... -
.Net下RabbitMQ的使用(4) -- 订阅和发布
2016-12-16 10:26 1149消息的订阅和发布是使 ... -
.Net下RabbitMQ的使用(3) -- 竞争的消费者
2016-12-16 10:23 2497在上一篇文章中,演示了一个发送者和一个消费者的情况。这一篇介 ... -
.Net下RabbitMQ的使用(2) -- 发送接收消息
2016-12-16 10:20 1257在安装和配置完成Rabbit ... -
RabbitMQ消息队列(一): Detailed Introduction 详细介绍
2016-12-16 10:12 6101. 历史 RabbitMQ是 ... -
RabbitMQ 安装和监控
2016-12-16 10:14 868在Windows上安装Rabbit MQ 指南,最好的是这 ... -
Autofac创建实例的方法总结
2016-12-07 14:54 5581、InstancePerDependency 对每一个依 ...
相关推荐
Forms鉴别提供的是一种验证用户的方法,而ASP.NET Membership的作用是表示用户的信息。 ASP.NET Membership使用的是提供器模式。ASP.NET Framework内包含了两个Membership提供器: q SqlMembershipProvider——...
asp.net CMS 物流管理系统源码——宝宝asp.net CMS 物流管理系统源码——宝宝asp.net CMS 物流管理系统源码——宝宝asp.net CMS 物流管理系统源码——宝宝asp.net CMS 物流管理系统源码——宝宝asp.net CMS 物流管理...
实验5 ASP.NET 3.5验证控件.ppt
ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP...
- **改进的安全性**:ASP.NET4提供了增强的安全特性,包括改进的身份验证和授权机制,有助于保护Web应用免受攻击。 - **更好的性能**:通过优化的编译器和运行时环境,ASP.NET4能够提供比以往更快的执行速度。 - **...
本资源“ASP.NET 1.1入门经典——Visual C#.NET 2003编程篇”提供了一个学习ASP.NET 1.1的基础教程,特别关注了使用C#语言进行编程的方法。Visual C#.NET 2003是.NET Framework 1.1时代的集成开发环境(IDE),它为...
- ASP.NET提供了身份验证(Authentication)和授权(Authorization)机制,如Windows身份验证、Forms身份验证等。 - 防止XSS和CSRF攻击的安全最佳实践也是ASP.NET开发的重要方面。 8. **配置与部署** - Web.config...
圣殿祭司的ASP.NET.2.0.开发详解——使用C#.part05
《Asp.Net2.0 完全开发指南——基于VB》随书光盘是一个压缩文件,其中包含了关于Asp.Net2.0技术的详细学习资料,特别针对使用Visual Basic(VB)编程语言的开发者。Asp.Net是微软推出的一个强大的Web应用程序框架,...
圣殿祭司的ASP.NET.2.0.开发详解——使用C#.part11
圣殿祭司的ASP.NET.2.0.开发详解——使用C#.part09
圣殿祭司的ASP.NET.2.0.开发详解——使用C#.part10
首先,ASP.NET 3.5提供了丰富的服务器控件,如Label、Button、TextBox等,这些控件简化了网页的开发,允许开发者通过拖放方式快速构建用户界面。此外,控件之间的事件处理模型使得交互逻辑编写更加直观。 其次,ASP...
《ASP.NET开发在线英语自学系统——课程及自测管理的设计》是一个基于ASP.NET技术的教育信息化项目,旨在为用户提供一个方便、高效的在线英语学习平台。本文将深入探讨该系统的设计思路、关键技术及其在课程管理和自...
圣殿祭司的ASP.NET.2.0.开发详解——使用C#.part12
7. ** Membership 和 Role Management **:ASP.NET 2.0引入了会员(Membership)和角色(Role)管理,用于用户身份验证和授权,简化了安全性的实现。 8. **配置管理**:ASP.NET 2.0的配置系统允许开发者在不修改...
ASP.NET Core微服务(一)——【完整API搭建及访问过程】——sql脚本
圣殿祭司的ASP.NET.2.0.开发详解——使用C#.part02
圣殿祭司的ASP.NET.2.0.开发详解——使用C#.part06