\create by ahuinan 2009-6-22
\up by ahuian 2009-6-23
\up by ahuinan 2009-6-24
1、将common项目中的md5函数代码更改为:
复制代码 代码如下:
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower().Substring(8, 16);
实现主站与论坛统一加密方式。
2、将common项目中的Encode和Decode改成直接返回。
3、ASP若采用session,则之前先判断是否有cookie。而主站的统一退出只需要添加一个清空cookie操作,代码可以如下:
复制代码 代码如下:
Response.cookies("dnt")("userid") = rs("uid")
Response.cookies("dnt")("password") = DESCode
Response.cookies("dnt")("tpp") = rs("tpp")
Response.cookies("dnt")("ppp") = rs("ppp")
Response.cookies("dnt")("pmsound") = rs("pmsound")
Response.cookies("dnt")("invisible") = rs("invisible")
Response.cookies("dnt")("referer") = "index.aspx"
Response.cookies("dnt")("sigstatus") = rs("sigstatus")
Response.cookies("dnt")("expires") = 0
Response.cookies("dnt").Domain = ".xxxx.com" //修改为你的域名,注意前面带.(点)
Response.cookies("dnt").Secure = False
4、在dnt论坛中的aspx>>1文件夹下面先建立一个login_in.aspx处理所有的同步登陆请求。实现多域名下同步登陆,比如可以实现www.a.com和www.b.com 下的登录问题。
5、管理员部分由于修改了加解密部门,所以需要重写admin/index.aspx.cs文件,注释掉:
复制代码 代码如下:
//if (Context.Request.cookies["dntadmin"] == null || Context.Request.cookies["dntadmin"]["key"] == null ||ForumUtils.GetcookiePassword(Context.Request.cookies["dntadmin"]["key"].ToString(), config.Passwordkey) != (oluserinfo.Password + secques + oluserinfo.Userid.ToString()))
更改为:
复制代码 代码如下:
if (Context.Request.cookies["dntadmin"] == null || Context.Request.cookies["dntadmin"]["key"] == null)
同步登陆代码文件有个文件名是index.aspx直接拷贝过去OK,拷贝到admin/index.aspx里面
6、以下内容是为了修复IE6下cookie丢失的问题,因为IE6不支持P3P协议,可以再每个程序网站添加该协议,但比较麻烦,现在直接在IIS添加HTTP头。
自定义HTTP头名为:P3P
自定义HTTP头值为:CP=CAO PSA OUR
7、可能用到的整合文件:
复制代码 代码如下:
<%@ Page Language="C#" %>
<%@ import Namespace="Discuz.Forum" %>
<%@ import Namespace="Discuz.Common" %>



