作者petrushka (不放过自己)
看板C_Sharp
标题Re: [问题] 认证信系统的原理?
时间Wed Apr 15 21:55:44 2009
如果你要问过程,大概会像这样:
使用者填好帐号注册申请表,并送出资料...
--> 储存申请资料到资料库 或在 系统上建立使用者帐号。
(顺便标示或设定帐号为"停用")
--> 产生Email验证字串,与已建立的停用帐号关联,储存。
--> 发送包含验证网址及验证字串的信件内容到申请资料中的Email。
(像
http://localhost/Member/CompleteEmailAuth.aspx?params=cGVS5jaGVvbQ==)
--> 使用者收到信并点击了信文中的Url,CompleteEmailAuth.aspx会收到Get Request。
处理Get Request Parameter,并将关联的帐号标示或设定为启用。
至於验证字串的产生,可以用一些有意义的值进行加密(譬如说帐号名称+时间戳记),
这样程式就可以在收到验证字串後,进行尝试解密并验证其中的值是否合法。
如果你要问如何发信,那麽你会使用到System.Net与System.Net.Mail Namespace下的
类别。
引入System.Net是为了使用NetworkCredential类别,如果Smtp Server需要验证才能使
用的话。
其他的则是System.Net.Mail的类别,依需求大概会用到下列类别:
SmtpClient
MailAddress
MailMessage
Attachment
通常上述类别的使用方式查阅MSDN都有范例,比较需要注意的是有些Smtp Server需要
帐号验证才愿意送信。这时候,SmtpClient需要设定Credentials,如下范例:
SmtpClient smtpClient = new SmtpClient( "smtpserver.localdomain" );
smtpClient.Credentials = new NetworkCredential( "user_id", "user_password" );
※ 引述《kiki1503 (琦琦壹伍零参)》之铭言:
: 现在不少网站都有认证信系统
: 信上会给一个网站字串连结
: 点了之後会传入後端代表认证成功
: 这部份我大概了解是依照查询字串拆解
: 然後读入网页
: 再连上资料库更动认证栏
: 可是..
: 我比较想知道前半部
: 使用者注册後
: 系统如何发信啊@@?
: 我的网站是IIS6+asp.net3.5
: 很少有书介绍这一部份
: (至少我买的都没有)
: 我想知道原理..到底信从哪边来的?
--
对於已经无法拥有的
唯一能做的是
不要忘记
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.224.218.75
1F:推 kiki1503:介绍的很详细,谢谢 04/16 08:57