您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程
Asp.Net网站整合Discuz论坛同步注册和单点登录的实现方法
雁玉2025-07-07Discuz教程已有人查阅
导读最近在一个小站中整合了Discuz论坛,查阅了些资料后实现了同步注册和单点登录。 Discuz是以虚拟目录的方式加载网站中,整合Discuz到网站中进行安装要注意一下几个问题:
最近在一个小站中整合了Discuz论坛,查阅了些资料后实现了同步注册和单点登录。 Discuz是以虚拟目录的方式加载网站中,整合Discuz到网站中进行安装要注意一下几个问题:
Discuz所在的目录需要添加NETWORK SERVICE 和IIS_User这两个账户的权限。
Discuz根目录下的DNT.config文件需要修改,将<Forumpath>/</Forumpath>修改为<Forumpath>/BBS/</Forumpath>,BBS为虚拟目录的名称。
由于我网站用了第三方的控件,在webconfig文件中进行了相关设置,然后在访问论坛时提示缺少程序集的引用,后来把第三方控件的dll加到Discuz下的bin目录中得以解决。
下面说说怎样实现同步注册和单点登录 其实在研究后发现很简单,当然我现在做的只是同域的情况下,跨域的情况还没研究,估计也不会很难,应该只是多了一个设置cookieDomain的过程。Discuz给我们提供了一个DiscuzToolkit的工具包,提供了很多API供调用,下面就一步步来吧。 1 安装好Discuz论坛后,进入后台管理,选择扩展-》通行证设置-》添加整合程序设置
应用程序名称:可以随便输入
应用程序Url地址:我填写的是我站点的地址
登录完成后返回地址:同上
2 记下生成的APIKey和密匙,在后面的代码编写中会用到
3 我将APIKey,密匙都配置在了webconfig文件中
APIKey:value值为后台生成的APIKey
Secret:value值为后台生成的密匙
Url:value值为BBS的路径
4 写一个公共的BBSHelper类,将添加用户,登录,改密码等方法封装在里面。注意要引用命名空间Discuz.Toolkit
Discuz所在的目录需要添加NETWORK SERVICE 和IIS_User这两个账户的权限。
Discuz根目录下的DNT.config文件需要修改,将<Forumpath>/</Forumpath>修改为<Forumpath>/BBS/</Forumpath>,BBS为虚拟目录的名称。
由于我网站用了第三方的控件,在webconfig文件中进行了相关设置,然后在访问论坛时提示缺少程序集的引用,后来把第三方控件的dll加到Discuz下的bin目录中得以解决。
下面说说怎样实现同步注册和单点登录 其实在研究后发现很简单,当然我现在做的只是同域的情况下,跨域的情况还没研究,估计也不会很难,应该只是多了一个设置cookieDomain的过程。Discuz给我们提供了一个DiscuzToolkit的工具包,提供了很多API供调用,下面就一步步来吧。 1 安装好Discuz论坛后,进入后台管理,选择扩展-》通行证设置-》添加整合程序设置
应用程序名称:可以随便输入
应用程序Url地址:我填写的是我站点的地址
登录完成后返回地址:同上
2 记下生成的APIKey和密匙,在后面的代码编写中会用到
3 我将APIKey,密匙都配置在了webconfig文件中
APIKey:value值为后台生成的APIKey
Secret:value值为后台生成的密匙
Url:value值为BBS的路径
4 写一个公共的BBSHelper类,将添加用户,登录,改密码等方法封装在里面。注意要引用命名空间Discuz.Toolkit
/// <summary>
/// 同步Discuz论坛帮助类
/// </summary>
public class DiscuzBBSHelper
{
private string _apiKey = string.Empty;
private string _secret = string.Empty;
private string _url = string.Empty;
DiscuzSession _ds;
public DiscuzBBSHelper()
{
_apiKey = ConfigHelper.APIKey();
_secret = ConfigHelper.Secret();
_url = ConfigHelper.Url();
_ds = new DiscuzSession(_apiKey, _secret, _url);
}
/// <summary>
/// 登录
/// </summary>
public void Login(string userName,string pwd)
{
int uid = _ds.GetUserID(userName);
_ds.Login(uid, pwd, false, 100, "");
}
/// <summary>
/// 登出
/// </summary>
public void Logout()
{
_ds.Logout("");
_ds.session_info = null;
HttpContext.Current.Session["AuthToken"] = null;
}
/// <summary>
/// 创建用户
/// </summary>
public void AddUser(string userName,string pwd)
{
_ds.Register(userName, pwd, "", false);
}
/// <summary>
/// 修改密码
/// </summary>
public void ChangePWD(string userName,string oldPWD,string newPWD)
{
int uid = _ds.GetUserID(userName);
_ds.ChangeUserPassword(uid, oldPWD, newPWD, newPWD, "");
}
}
5 在网站需要的地方调用该类中的方法即可,如下:
//同步论坛
DiscuzBBSHelper bbs = new DiscuzBBSHelper();
bbs.Login(username, pwd);
本文标签:
很赞哦! ()
相关教程
图文教程
Discuz在线中文分词服务代码实例
Discuz!在线中文分词服务是基于API返回分词结果的。在项目中,我们只需要一个函数即可方便地进行分词、关键词提取。以下是根据Discuz!在线分词服务API写的函数,测试可正常运行:
discuz优化技巧分享
Discuz论坛是国内使用最多的论坛系统,现在较新版为X3.4,X3.4从2018年1月1日起只在官方Git发布,说明已经开源了。discuz有那么多的粉丝,跟它完善的功能有很大关系
Discuz论坛添加Wiki语法的方法
目标是使在论坛中的特定语法能够被解析为Wiki实际的url, 如:关键字需要支持以下2种论坛语法:
Discuz论坛环境部署搭建过程介绍
1、系统环境操作系统版本:CentOS Linux 5.7内核版本:2.6.18-274.el5arch:x86_64apache版本:Apache/2.4.6 (Unix)mysql版本:5.6.12-log Source distribution
相关源码
-
(自适应响应式)英文外贸医疗科研耗材设备pbootcms网站模板为医疗设备和外贸企业设计的响应式网站模板,基于PbootCMS系统开发。突出医疗产品认证展示和国际化特性,通过专业化的产品参数展示模块和文档管理系统,满足医疗行业严格的信息披露要求。查看源码 -
(响应式自适应)小学初中作文论文文章资讯博客pbootcms模板下载为中小学作文、教育类网站设计,特别适合展示学生作文、教学资源和写作指导等内容。采用响应式技术,确保在不同设备上都能获得良好的阅读体验。查看源码 -
帝国cms7.5女性护肤搭配美妆潮流网站源码带数据4.5G本模板专为女性美容护肤行业设计,提供美容护肤、发型设计、女性健康、时尚化妆、娱乐新闻、服饰搭配等女性潮流资讯内容展示。采用帝国CMS7.5开发,同步生成电脑端和手机端,满足用户对美容时尚信息的获取需求。查看源码 -
(PC+WAP)绿色硅胶橡胶玩具制品营销型网站源码下载为硅胶橡胶制品及玩具行业打造的营销型网站模板,采用PbootCMS内核开发,通过模块化设计实现产品参数、安全认证、应用场景等专业内容的可视化呈现,助力企业建立可信赖的线上展示平台。查看源码 -
PbootCMS(自适应手机端)智能电话AI机器人网站模板产品概述基于PbootCMS内核开发的智能电话AI机器人网站模板,为语音交互服务场景设计,采用HTML5+CSS3响应式布局技术,实现PC端与移动端数据实时同步展示。模板适用于智能电话查看源码 -
(自适应)蓝色建材亚克力板材装饰材料pbootcms网站模板这款基于PbootCMS开发的响应式模板为建材板材行业优化设计,适用于亚克力板材、建筑装饰材料等企业展示需求。采用HTML5技术实现手机/PC跨终端适配,管理员通过统一后台即可同步查看源码
| 分享笔记 (共有 篇笔记) |
