回复:2.0整合完整代码及解决方案
在我们要加一个用户到我们系统时,调用createbbsuser登录时先调用IsBBSLogin先判断BBS里有没有登录.如果没有的的话调用自己的登录代码,同时在自己的登录代码里要调用LoginBBS 这样为BBS也自动实现登录
重要一点:在对BBS的后台一定要设定cookie域名为.xxx.com 我们的代码中也应该是一致.设定完成后.需要将BBS下的Config目录复制一个放到我们系统的目录下.还有dnt.config也是一样,要复制,完成这一步的目的是为了实现所有站点的passwordkey是一样的.如果不一样,则不能共享cookie
最后.在我们的系统Global.asax文件中要对discuz的类库进行初始操作
<%@ Application Language="C#" %>
<%@ Import Namespace="Discuz.Config" %>
<%@ Import Namespace="Discuz.Config.Provider" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
BaseConfigInfo info = BaseConfigProvider.Instance();
if (info != null)
{
GeneralConfigInfo config = GeneralConfigs.GetConfig();
}
}
void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码
}
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
}
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
}
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
}
</script>
如果操作完成,则你的网站可以实现单点登录了.