高手指点,就是把网站和论坛整合成一个网站,怎么做,急急
解决方案 »
- asp.net
- asp.net怎么连接 access??狂散分
- [急]如何用JavaScript获取页面控件Panel的句柄?
- 数据转化 string byte[]
- 自动匹配标签是怎么实现的?站内连接又是怎么实现?
- 第一次才能搜索,很迷惑请大家帮分析一下。
- 自动生成Web.sitemap文件的免费插件程序,想要的留个EMAIL.
- 这个论坛的网页左侧用的treeview控件导航,当点击结点时在同一个网页下右侧又添加了新网页怎么实现的?谢谢指教。。。。。急
- 上传多张图片的问题
- 求救。。。连接不上数据库?急死。。感谢!
- asp.net 中javascript 脚本
- Eval 能作为一个参数传到js的方法里吗?
discuzr 的整合,现在要求用户表和论坛的用户表共用,不过不知道怎么做,你能不能写个例子来看看
这个形式的
http://www.syc958.cn/
http://www.zz66zz.com/
代码:using Discuz.Common;using Discuz.Forum;using Discuz.Config;using Discuz.Entity;//省略..................
//以下为用户登录判断代码
//提交的用户名、密码、安全提问序号和答案分别为html表单变量名username、password、question、answer
Discuz.Config.GeneralConfigInfo config = Discuz.Config.GeneralConfigs.GetConfig();
int uid = -1;
//如果设置中Discuz!NT的密码模式为动网密码兼容模式(一般仅用于从动网数据转换来的论坛)
if (config.Passwordmode == 1)
{
//如果后台设置了必须使用安全提问
if (config.Secques == 1)
{
uid = Users.CheckDvBbsPasswordAndSecques(DNTRequest.GetString("username"), DNTRequest.GetString("password"), DNTRequest.GetInt("question", 0), DNTRequest.GetString("answer"));
}
else
{
uid = Users.CheckDvBbsPassword(DNTRequest.GetString("username"), DNTRequest.GetString("password"));
}
}
//如果设置中Discuz!NT的密码模式为一般模式
else
{
//如果后台设置了必须使用安全提问
if (config.Secques == 1)
{
uid = Users.CheckPasswordAndSecques(DNTRequest.GetString("username"), DNTRequest.GetString("password"), true, DNTRequest.GetInt("question", 0), DNTRequest.GetString("answer"));
}
else
{
//最典型的用户验证方法
uid = Users.CheckPassword(DNTRequest.GetString("username"), DNTRequest.GetString("password"), true);
}
}
//如果CheckPassword方法的返回值不为-1,则代表已经找到了相应的合法用户
if(uid != -1)
{
ShortUserInfo __userinfo = Users.GetShortUserInfo(uid);
if (__userinfo.Groupid == 8)
{
//这里添加代码提示"抱歉, 您的用户身份尚未得到验证"并return退出
//...
//
if (config.Regverify == 1)
{
//这里添加代码提示“请您到您的邮箱中点击激活链接来激活您的帐号"并return退出
//...
//
}
if (config.Regverify == 2)
{
//这里添加代码提示“您需要等待一些时间, 待系统管理员审核您的帐户后才可登录使用"并return退出
//...
//
}
}
else
{
//删除之前的错误登录信息
LoginLogs.DeleteLoginLog(DNTRequest.GetIP());
//根据积分公式刷新用户总积分
UserCredits.UpdateUserCredits(uid);
//写入用户登录后的cookie
ForumUtils.WriteUserCookie(uid, Utils.StrToInt(DNTRequest.GetString("expires"), -1), config.Passwordkey, DNTRequest.GetInt("templateid", 0), DNTRequest.GetInt("loginmode", -1));
//更新用户最后动作,如不需要可不执行
OnlineUsers.UpdateAction(olid, UserAction.Login.ActionID, 0, config.Onlinetimeout);
//更新该用户最后访问时间
Users.UpdateUserLastvisit(uid, DNTRequest.GetIP()); //登录完毕,此处添加代码提示登录成功并转向到其它页面
//...
//
}
}
else
{
int errcount = LoginLogs.UpdateLoginLog(DNTRequest.GetIP(), true);
if (errcount > 5)
{
//这里添加代码提示“您已经输入密码5次错误, 请15分钟后再试"并return退出
//...
//
}
else
{
//AddErrLine("密码或安全提问第" + errcount.ToString() + "次错误, 您最多有5次机会重试");
//这里添加代码提示“密码或安全提问错误"并return退出
//...
//
}
}
如果退出登录,则执行以下代码:Users.UpdateOnlineTime(uid);
OnlineUsers.DeleteRows(olid);
ForumUtils.ClearUserCookie();
方法一.修改网站用户表,适合于论坛用户表.这种方法大家都不喜欢方法二.单点登录,搜搜MS的网站,有教程,照做就OK.