已有系统已经有自己的一套用户系统,需要挂接 ANF ,要求在已有系统用户注册,登录,修改密码时,在 ANF 中也做出相应反映。不要求 ANF 的用户变化影响已有系统,只是单向同步。
在尽量少动已有代码的情况下找一种简单的方式来完成整合。之前看了宝玉的CnForums和已有系统的整合方案,最后偷懒决定在已有系统上述动作结束后将用户相关信息和操作类型附加在 url 后面传给一个新建页来处理在 ANF 中执行相关操作。
这新建页暂且叫bridge.aspx 当然要建在ANF的项目中该using的都using了,负责接收用户名密码等信息然后执行相应的ANF操作。
- 注册
注册很简单,我的Username和Password是自己包装的属性,从Request中获取信息,我们系统没有Email就随便添一个,接下来要给AccountStatus设置为通过,IsAnonymous关掉。Users.Create中那个bool参数代表是否给用户发送注册成功提示的邮件,我没邮件当然关掉。
注意我在所有的地方都catch吸收掉错误,而无返回,你不一定要这么做。
![None.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/None.gif)
![ExpandedBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![ExpandedBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
- 登录
基本上都是复制粘贴过来的,注意最后的setcookie,这是同步登录的关键。
![None.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/None.gif)
![ExpandedBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![ExpandedSubBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![ExpandedSubBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![ExpandedSubBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![ExpandedSubBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![ExpandedBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
- 修改密码
这个假设是基于登录已经发生的,如果你的假设不是这样需要加入自己的判断。
![None.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/None.gif)
![ExpandedBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![ExpandedSubBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![ExpandedBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
- 设置cookie
![None.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/None.gif)
![ExpandedBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://simonw.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![ExpandedBlockEnd.gif](https://simonw.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
最后在已有系统的注册,登录,修改的最后Response.Redirect这页就ok,不喜欢Redirect,Server.Transfer,xmlhttp都行,看你需要的展现了。还有一点很关键,就是要加密了你传输的字符串,要不明文就……※¥※×%※× ,要是嫌还不安全就用ip判断一下谁可以访问这页!