Asp.net官方标准控件实现用户的管理,虽然简单,但控件封装性很强,开发人员不能明白做了什么样的调用,还用别一方面,标准控件的使用,很大程度上限制了程序的可变性。如果自开发一整套用户管理系统,可行,但又失去了标准用户控件的作用,于是用API来管理用户,成为一个很好的先择,下面我列出主要(不 全部)的用户管理API实例:
1、注册用户
用Membership.CreateUser来创建设新用户,注意密友要包含一个符号,Membership位于System.Web.Security命名空间内。
//cs
   
1try
2                {
3                        MembershipCreateStatus MCS;
4                        Membership.CreateUser(name.Text, password.Text,email .Text ,question .Text,answer .Text ,true , out MCS );
5                        Response.Write(MCS.ToString ());
6                }
7                catch(Exception s)
8                {
9                        //异常处理代码
10                }
11
//Aspx代码
1     <asp:Label ID="Label1" runat="server" Text="用户名:"></asp:Label>            
2     <asp:TextBox ID="name" runat="server" Width="196px"></asp:TextBox>        
3     <asp:Label ID="Label2" runat="server" Text="密码:"></asp:Label>    
4     <asp:TextBox ID="password" runat="server" Width="197px"></asp:TextBox>    
5     <asp:Label ID="Label3" runat="server" Text="确认密码:"></asp:Label>
6     <asp:TextBox ID="OtherPass" runat="server" Width="196px"></asp:TextBox>            
7     <asp:Label ID="Label4" runat="server" Text="电子邮件:"></asp:Label>    
8     <asp:TextBox ID="email" runat="server" Width="193px"></asp:TextBox>    
9     <asp:Label ID="Label5" runat="server" Text="安全提示问题:"></asp:Label>                
10     <asp:TextBox ID="question" runat="server" Width="189px"></asp:TextBox>    
11     <asp:Label ID="Label6" runat="server" Text="安全答案:"></asp:Label>    
12     <asp:TextBox ID="answer" runat="server" Width="187px"></asp:TextBox>            
13     <asp:Button ID="Button1" runat="server" Text="注册" Width="69px" />
14
15
2、用户登录
用户登录用Membershi.ValidateUser来验证用户名和密码。如果通过验证,调用FormsAuthentication.RedirectFromLoginPage导向目标页面(这里以及后面的一些设置都是配合Forms验证展开,都预先在web.config中配置好Forms的验证策略)。
//cs代码,在登录按钮的单击事件注册的方法中
1if (Membership.ValidateUser(UserName.Text,Password.Text))
2                {
3                        FormsAuthentication.RedirectFromLoginPage(UserName.Text, false);    
4                }
5                else
6                {
7                        Response.Write("登录失败!");
8                }
9
10
//Aspx代码
1<asp:Label ID="Label1" runat="server" Text="用户名:"></asp:Label>
2 <asp:TextBox ID="UserNmae" runat="server"></asp:TextBox>
3 <asp:Label ID="Label2" runat="server" Text="密码:"></asp:Label>
4 <asp:TextBox ID="Password" runat="server"></asp:TextBox>
5 <asp:Button ID="Login_But" runat="server" Text="登录"    
6     Width="69px" />
7 <asp:HyperLink ID="FindPass_HL" runat="server" NavigateUrl="~/FindPassword.aspx">忘记密码</asp:HyperLink>
8<asp:HyperLink ID="Reg_HL" runat="server" NavigateUrl="~/register.aspx">注册</asp:HyperLink>
9    
10
11
 3、找回密码
//cs
Cs中的邮件发方法,关于一些邮件的配置是在web.confing中存放,方法中有相关的获取方法
1using System;
2using System.Collections;
3using System.Configuration;
4using System.Data;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.HtmlControls;
9using System.Web.UI.WebControls;
10using System.Web.UI.WebControls.WebParts;
11using System.Web.Configuration;
12using System.Net.Configuration;
13using System.Net.Mail ;
14public partial class FindPassword : System.Web.UI.Page
15{
16        protected void Page_Load(object sender, EventArgs e)
17        {
18                if (!IsPostBack)
19                {
20                        Wizard1.ActiveStepIndex = 0;
21                }
22        }        
23        protected void Wizard1_NextButtonClick(object sender, WizardNavigationEventArgs e)
24        {
25                try
26                {
27                        Label1.Text = "问题是:" + Membership.GetUser(Quest_TB.Text).PasswordQuestion;
28                }
29                catch (Exception ee)
30                {
31                        Response.Write("异常,详细错误:"+ee.Message);
32                }
33        }
34        protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e)
35        {
36                try
37                {
38                        Configuration c = WebConfigurationManager.OpenWebConfiguration(@"~\web.config"); ;
39                        NetSectionGroup ns = NetSectionGroup.GetSectionGroup(c);
40                        string forms = ns.MailSettings.Smtp.From;
41                        string hosts = ns.MailSettings.Smtp.Network.Host;
42                        int ports = ns.MailSettings.Smtp.Network.Port;
43                        string usernames = ns.MailSettings.Smtp.Network.UserName;
44                        string passwords = ns.MailSettings.Smtp.Network.Password;
45                        MailAddress from = new MailAddress(forms);
46                        MailAddress to = new MailAddress(Membership.GetUser(TextBox1.Text).Email);
47                        MailMessage message = new MailMessage(from, to);
48                        message.Subject = "密码";
49                        string nr = "您好:你的密码为:" + Membership.GetUser(Quest_TB.Text).ResetPassword(Answer_TB.Text);
50                        message.Body = nr;
51                        SmtpClient client = new SmtpClient(hosts, ports);
52                        client.Send(message);
53                }
54                catch (Exception ee)
55                {
56                        Response.Write("发送邮箱密码错误!详细信息:"+ee.Message);
57                }                    
58        }
59}
60
//Aspx代码
1<asp:Wizard ID="Wizard1" runat="server" ActiveStepIndex="2"    
2                DisplaySideBar="False" Height="103px"    
3                onfinishbuttοnclick="Wizard1_FinishButtonClick"    
4                onnextbutt Width="168px">
5                <WizardSteps>
6                        <asp:WizardStep runat="server" title="用户名">
7                                请输入用户名:<br />
8                                <asp:TextBox ID=" Quest_TB" runat="server" Width="141px"></asp:TextBox>
9                        </asp:WizardStep>
10                        <asp:WizardStep runat="server" title="问题">
11                                <asp:Label ID="Label1" runat="server" Text="问题是:"></asp:Label>
12                                <br />
13                                <asp:Label ID="Label2" runat="server" Text="问题:"></asp:Label>
14                                <br />
15                                <asp:TextBox ID="Answer_TB" runat="server" Width="161px"></asp:TextBox>
16                                <br />
17                        </asp:WizardStep>
18                        <asp:WizardStep runat="server" Title="完成">
19                                <asp:Label ID="Label3" runat="server" Text="修改密码完成!"></asp:Label>
20                        </asp:WizardStep>
21                </WizardSteps>
22</asp:Wizard>        
23//web.config中的配置
24位于configuration标签中
25<system.net>
26            <mailSettings>
27                    <smtp from="[email]axzxs2001@163.com[/email]">
28                            <network host="smtp.163.com" password="*********" userName="axzxs2001" />
29                    </smtp>
30            </mailSettings>
31    </system.net>
32
还有一此用户管理的API,在下一篇文章中叙述。

Asp.net用户管理API的应用(上)相关推荐

  1. 用以太坊区块链保证Asp.Net Core的API安全(上)

    去中心化应用程序(DApp)的常见设计不仅依赖于以太坊区块链,还依赖于API层.在这种情况下,DApp通过用户的以太坊帐户与智能合约进行交互,并通过交换用户凭据而发布的JWT token与API层进行 ...

  2. Asp.Net Core Web Api图片上传及MongoDB存储实例教程(一)

    图片或者文件上传相信大家在开发中应该都会用到吧,有的时候还要对图片生成缩略图.那么如何在Asp.Net Core Web Api实现图片上传存储以及生成缩略图呢?今天我就使用MongoDB作为图片存储 ...

  3. Asp.Net Core Web Api图片上传(一)集成MongoDB存储实例教程

    Asp.Net Core Web Api图片上传(一)集成MongoDB存储实例教程 原文:Asp.Net Core Web Api图片上传(一)集成MongoDB存储实例教程 Asp.Net Cor ...

  4. java和Discuz论坛实现单点登录,通过Ucenter(用户管理中心)

    果学网-专注IT在线www.prismcollege.com 1,按照下面各大链接的教程,把Base64,Client,PHPFunctions,UC,XMLHelper加入web程序. 2,修改we ...

  5. Harbor-核心管理API

    0.概述 核心管理API提供了Harbor核心管理功能的编程接口,这些功能主要如下. ◎ 用户管理("/users"和"/usergroups"): 覆盖用户和 ...

  6. dva + antd + mockjs 实现用户管理

    1.安装dva-cli npm install dva-cli -g 2.创建应用 dva new dvadashboard [dvadashboard为项目名] 3.安装mockjs npm ins ...

  7. ASP.NET Core Web API下事件驱动型架构的实现(二):事件处理器中对象生命周期的管理

    在ASP.NET Core Web API下事件驱动型架构的实现(一):一个简单的实现中,我介绍了事件驱动型架构的一种简单的实现,并演示了一个完整的事件派发.订阅和处理的流程.这种实现太简单了,百十行 ...

  8. 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之用户管理(1)...

    应用程序的基本框架已经搭建好了,现在要做的是完成一个个的功能模块.先从简单做起,完成用户管理模块,该模块主要功能是使用一个Grid显示用户信息,并使用RowEditing进行用户的编辑.添加操作.Gr ...

  9. Asp.net的用户管理

    在大多数系统中,开发人员都是自己建立用户管理系统 在asp.net中,微软给了一套用户验证,权限,角色的控件和API,接下来的几往篇文单谈一下自己的浅薄认识. 引入数据库 把用户管理的数据库引入到自己 ...

最新文章

  1. 关闭antimal_i wanna be the brown animal键位怎么操作玩法攻略
  2. 编译QT出错 Basic XLib functionality test failed!
  3. mysql删除索引 增加索引
  4. 编码 —— 差错检验
  5. 54 字符流中第一个不重复的字符
  6. 大中型网站使用图片域名的必要性原因
  7. cocos2dx中node的pause函数(lua)
  8. 阿里巴巴分布式消息系统的演进之路
  9. Linux命令九---Linux进程管理命令---ps-kill-nohup-jobs-fg-bg-top等
  10. oracle 查看表空间及用户,oracle 表空间及查看所有用户的表空间
  11. 荣耀6plus安装linux程序,华为 荣耀6Plus驱动程序下载和安装
  12. GraphicsView学习-内容介绍(1)
  13. python 猴子偷桃问题
  14. 3des解密 mysql_转角处拐弯007
  15. 龙族——路明非真实身份猜想
  16. Nginx无证书反向代理
  17. 破解Windows7开机密码
  18. 12306火车票助手
  19. 关于Windows文件读写(提高读写速度)
  20. 快速提升自身思维能力的方法总结

热门文章

  1. 荣之联:现在是转型云计算的最佳时机
  2. windows8不能更新?
  3. 使用FAI+PXE批量部署Debian。
  4. sys和system的区别
  5. Prometheus — 核心概念
  6. Linux Kernel TCP/IP Stack — L3 Layer — netfilter/iptables 防火墙
  7. NR 5G 密钥与安全详解
  8. Zepto源码分析-event模块
  9. sql service 从创建访问用户到数据库访问 【SQL】
  10. hdu4847 Wow! Such Doge! KMP