国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

Discuz!NT 3與asp.net 整合的實例教程

2024-07-10 13:18:54
字體:
來源:轉載
供稿:網友
如果編碼方面有不嚴謹的地方,還希望各位多多包涵,并給出中肯的意見。
整合需要在原項目中添加由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%>


點擊下載源碼
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石林| 合阳县| 上饶市| 红桥区| 南充市| 东乌珠穆沁旗| 金沙县| 长岭县| 上思县| 三河市| 铜鼓县| 麻江县| 凯里市| 河池市| 吴川市| 通城县| 西丰县| 册亨县| 永福县| 华坪县| 白玉县| 鱼台县| 高碑店市| 当阳市| 永城市| 河池市| 澄江县| 松溪县| 屏南县| 正镶白旗| 庐江县| 永靖县| 遂平县| 兴山县| 宝山区| 达州市| 略阳县| 黄梅县| 抚顺市| 高密市| 什邡市|