Showing posts with label DNT. Show all posts
Showing posts with label DNT. Show all posts

Wednesday, June 6, 2012

DNT something

项目管理实践教程
http://www.cnblogs.com/ttzhang/archive/2008/11/02/1324601.html

Discuz!NT持续集成实战
http://www.cnblogs.com/zjneter/archive/2008/05/18/1202235.html

Powershell实践之Discuz!NT自动打包发布
http://www.cnblogs.com/zjneter/archive/2008/12/23/1360494.html


Asp.Net站点整合Discuz论坛实现同步注册和单点登录

source: http://blog.fwhyy.com/posts/1408


Discuz是以虚拟目录的方式加载网站中,整合Discuz到网站中进行安装要注意一下几个问题:

  • Discuz所在的目录需要添加NETWORK SERVICE 和IIS_User这两个账户的权限。
  • Discuz根目录下的DNT.config文件需要修改,将/修改为/BBS/,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论坛帮助类
/// 
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);
    }

    /// 
    /// 登录
    /// 
    public void Login(string userName,string pwd)
    {
        int uid = _ds.GetUserID(userName);
        _ds.Login(uid, pwd, false, 100, "");
    }

    /// 
    /// 登出
    /// 
    public void Logout()
    {
        _ds.Logout("");
        _ds.session_info = null;
        HttpContext.Current.Session["AuthToken"] = null;
    }

    /// 
    /// 创建用户
    /// 
    public void AddUser(string userName,string pwd)
    {
        _ds.Register(userName, pwd, "", false);
    }

    /// 
    /// 修改密码
    /// 
    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);

Tuesday, May 22, 2012

头像不能上传的解决方法

使用以下方法前请确认所使用的论坛为NT官方论坛所下载程序

1.检查论坛目录是否有networkservice完全控制权限
2.检查论坛目录下upload目录avatars目录是否继承了上级目录的networkservice完全控制权限
3.如果是IIS 7 检查论坛所使用的应用程序池"托管管道模式"是否为"经典",如果不是则改为经典. 注:IIS 5/6 版本可忽略此项
4.检查论坛所使用的应用程序池所使用的账户是否为networkservice

以上步骤设置完成后即可上传头像

注:如果以上步骤设置后还不可以上传,再给论坛添加IIS_IUSRS完全控制权限即可

source: http://nt.discuz.net/showtopic-141979.html

Friday, May 4, 2012

Discuz!NT站点合并web.config文件方法


1.web.config简介
Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。
当你通过ASP..NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的
Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。
如果你想修改子目录的配置设置,你可以在该子目录下新建一个Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。

2. 原先站点增加Discuz!NT论坛,合并web.config 问题:
例如论坛安装在 /bbs/ 目录里。
原理:
web.config文件中可以同时存在多个配置节,

但是要指明

注意其中 用 指名了作用的对象是bbs目录,而且不允许重写。如 果根目录某个类与Discuz!NT冲突,你也可以移除他,例如: 这行 从应用程序移除 ModuleRewriter 类,也就是让网站根目录程序的ModuleRewriter对bbs目录不起作用。


Source link: http://nt.discuz.net/showtopic-25114.html

Friday, October 21, 2011

[使用] [新手日记].NET2.0 编译+安装

这个技术含量没什么,不过还是T出来帮助大家少走弯路吧.
其实很简单的,新手也可以这样开始ASP.NET.
一.编译DNT的DLL组件
1.首先用VS2005打开discuz.sln解决方案(就是很多工程结合在一起的工程 )
Release方式编译Discuz.Common,Discuz.Controls,Discuz.Forum,Discuz.Setup这4个项目
生 成Discuz.Common.DLL,Discuz.Controls.DLL,Discuz.Forum.DLL,Discuz.Setup.DLL 几个DLL组件(分别在Common,Controls,Forum,Discuz.Setup文件夹下的bin/Release找到他们)
然后拷贝到某处待用
(编译命令在菜单栏,选中哪个项目就可以编译相应的项目--也可以一起编译生成的,大家试试)

二.转换为Web应用程序
我是用WEB应用程序的,感觉这个比website方便,所以决定转化为web应用程序项目,以下为转化过程:
VS2005 SP1-->新建-->项目--->左栏选"Visual C#",右栏选择"ASP.NET Web应用程序"(下面的名称大家随意了哈,我用的DNT )-->然后删除VS2005自动创建的Default.aspx和Web.config(不准他们和DNT抢 )


2.拷贝除了Common,Controls,Forum,Discuz.Setup以外的文件夹和文件到项目文件夹下面.

--->VS2005 "项目"--->"显示所有文件"--->对添加进入的文件夹选中,右键--->"包括在项目中"
3.把第一步骤里面生成的4个DLL文件连同微软的那个Interop.SQLDMO.dll添加到项目引用里面.
方法:
解决方案资源管理器里面对"DNT"项目名右键-->"添加引用"-->找到文件添加就是了.

4.转化为WEB应用程序.
解决方案资源管理器里面对"DNT"项目名右键-->"转换为Web应用程序".

转化完毕后,呵呵基本就可以用了哦.

到此 转化完毕.

三.生成DNT的Discuz.ForumPage.dll组件
然后大家可能会问,还差一个Discuz.ForumPage.dll是哪儿来啊?-->就是这些页面文件的后台代码生成撒
生成Discuz.ForumPage.dll:
1.解决方案资源管理器里面对"DNT"项目名右键-->"属性"-->应用程序选项卡下面 "程序集名称"修改为Discuz.ForumPage.(主要是为了生成DLL名为Discuz.ForumPage.DLL )
2.VS2005 "生成"-->"生成DNT"(项目名不同名字就不同哈 )

到此,编译生成工作完全告一段落.
===
安装篇:
可以在VS2005 或者IIS下面进行
这里讲IIS环境安装吧.
按照官方文档,建立数据库,建立IIS站点.执行http://localhost:15000/setup/index.aspx(15000是自定义的IIS站点端口号,依据个人配置更改),然后都和官方的一样了...
就不废话了,建议大家去看官方文档.

安装完毕后可能页面有乱码,进入后台重新生成模版 更新缓存就可以了.
后台管理文件还是乱码的,
请见13楼 pyfhua 提供的工具,很好用http://nt.discuz.net/showtopic-17420-1.html#160159
[在乱码ASPX页添加
复制代码
也可以]
这里有个已经转化好了的WEB APP项目,(后台还是乱码 大家自己修改下吧.我没有更好的办法现在)
  1. http://pickup.mofile.com/2142132347214524
复制代码


source: http://nt.discuz.net/showtopic-17420.html