手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >Discuz!NT 3与asp.net 整合的实例教程
Discuz!NT 3与asp.net 整合的实例教程
摘要:如果编码方面有不严谨的地方,还希望各位多多包涵,并给出中肯的意见。整合需要在原项目中添加由Discuz!NT提供的DiscuzToolkit...

如果编码方面有不严谨的地方,还希望各位多多包涵,并给出中肯的意见。

整合需要在原项目中添加由Discuz!NT提供的

DiscuzToolkit语言包(c#)

另外为了方便整合,我还自己写了一个简单的项目DNTAddNETSNS,用来对Discuz!NT和SNS做一些简单的粘合。

现在向大家展示一下涉及API调用的一些代码片段:

复制代码 代码如下:

//之间为DNT的整合代码

Try

{

Discuz.Toolkit.DiscuzSession ds = ConformityHandler.InitDiscuzSession();

ds.Register(ConformityHandler.CreateDiscuzNTUsername(ui.Email),ui.Password, ui.Email, false);

ret = User.Register(ui);//sns注册,获取注册信息

}

catch(Discuz.Toolkit.DiscuzException d)

{

if (d.ErrorCode == 109)

{

ret = EnumRegister.EmailRepeat;

}

}

//

如上是利用DiscuzToolkit中的方法注册用户的一个实例。(源码在Register.aspx.cs中)

涉及到用户的安全信息的操作,需要获取AuthToken,获取AuthToken需要请求论坛的login.aspx?api_key=[key],然后论坛会通过GET形式返回给设置好的Callback地址一个AuthToken,整合时需要使用AuthToken的地方非常多,然而callback地址只能设置一个,针对此情况,我又专门新建了一个页面dntapihandler.aspx,此页面没有内容,只用来做callback中转,即在Discuz!NT中设置callback地址为dntapihandler.aspx。然后根据next参数确定最终返回的应用程序页面。

最后列出来被添加过整合代码的页面,方便大家看源码。

复制代码 代码如下:

web.config

Global.asax

Register.aspx

User/ default.aspx

Login.aspx

Logout.aspx

AccountSet.aspx

UserBase.aspx

如上的页面有的只改动了其.CS文件,有的都有修改。

如果想使用此整合项目,需要按照SNS的安装说明安装部署。而且为了实现同步登录(由于SNS并没有API,所以论坛方无法控制SNS的登录),需要修改一个Discuz!NT模板login.htm,在里面添加如下代码。

复制代码 代码如下:

<%csharp%>

If(Request["api_key"]==null&&Request.Form["username"]!="admin")

Response.Redirect(【SNS的登录页面路径】);

<%/csharp%>

点击下载源码 http://xiazai.jb51.net/200911/yuanma/dnt_netsns_src.zip

【Discuz!NT 3与asp.net 整合的实例教程】相关文章:

asp.net get set用法第1/2页

asp.net HTML文件上传标签

asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码

asp.net下gridview 批量删除的实现方法第1/3页

ASP.net 生成缩略图的实例源代码

asp.net2.0中css失效的解决方法

asp.net刷新本页面的六种方法

Discuz .net版本中的短消息系统第1/2页

axp.net ScriptManager的简单用法

asp.net动态添加js文件调用到网页的方法

精品推荐
分类导航