手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >asp.net DiscuzNT登录,退出的代码
asp.net DiscuzNT登录,退出的代码
摘要:复制代码代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;...

复制代码 代码如下:

using System;

using System.Collections.Generic;

using System.Text;

using Discuz.Common;

using Discuz.Forum;

using Discuz.Config;

using Discuz.Entity;

namespace DiscuzIntegration

{

public class Integration

{

public static void Login(string username, string password)

{

try

{

Discuz.Config.GeneralConfigInfo config = Discuz.Config.GeneralConfigs.GetConfig();

int uid = Users.GetUserID(username);

if (uid == -1 || !Users.Exists(uid))

{

Regedit(username, password);

uid = Users.GetUserID(username);

}

//删除之前的错误登录信息

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());

}

catch

{

}

}

public static void Logout(string username)

{

try

{

int uid = Users.GetUserID(username);

int olid = OnlineUsers.GetOlidByUid(uid);

OnlineUsers.DeleteRows(olid);

ForumUtils.ClearUserCookie();

}

catch

{

}

}

public static bool Regedit(string tmpUsername, string password)

{

try

{

//以下为用户注册代码

Discuz.Config.GeneralConfigInfo config = Discuz.Config.GeneralConfigs.GetConfig();

UserGroupInfo usergroupinfo = new UserGroupInfo();

usergroupinfo.Groupid = 10; //新手上路

//如果用户名符合注册规则, 则判断是否已存在

if (Users.Exists(tmpUsername))

{

//

// 这里提示错误信息"用户名已经存在!"

//

return false;

}

UserInfo __userinfo = new UserInfo();

__userinfo.Username = Utils.HtmlEncode(tmpUsername);

__userinfo.Nickname = Utils.HtmlEncode(DNTRequest.GetString(""));

__userinfo.Password = Utils.MD5(password);

__userinfo.Secques = "";// ForumUtils.GetUserSecques(DNTRequest.GetInt("question", 0), DNTRequest.GetString("answer"));

__userinfo.Gender = DNTRequest.GetInt("gender", 0);

__userinfo.Adminid = 0;

__userinfo.Groupexpiry = 0;

__userinfo.Extgroupids = "";

__userinfo.Regip = DNTRequest.GetIP();

__userinfo.Joindate = Utils.GetDateTime();

__userinfo.Lastip = DNTRequest.GetIP();

__userinfo.Lastvisit = Utils.GetDateTime();

__userinfo.Lastactivity = Utils.GetDateTime();

__userinfo.Lastpost = Utils.GetDateTime();

__userinfo.Lastpostid = 0;

__userinfo.Lastposttitle = "";

__userinfo.Posts = 0;

__userinfo.Digestposts = 0;

__userinfo.Oltime = 0;

__userinfo.Pageviews = 0;

__userinfo.Credits = 0;

__userinfo.Extcredits1 = Scoresets.GetScoreSet(1).Init;

__userinfo.Extcredits2 = Scoresets.GetScoreSet(2).Init;

__userinfo.Extcredits3 = Scoresets.GetScoreSet(3).Init;

__userinfo.Extcredits4 = Scoresets.GetScoreSet(4).Init;

__userinfo.Extcredits5 = Scoresets.GetScoreSet(5).Init;

__userinfo.Extcredits6 = Scoresets.GetScoreSet(6).Init;

__userinfo.Extcredits7 = Scoresets.GetScoreSet(7).Init;

__userinfo.Extcredits8 = Scoresets.GetScoreSet(8).Init;

__userinfo.Avatarshowid = 0;

__userinfo.Email = "";

__userinfo.Bday = "";

__userinfo.Sigstatus = DNTRequest.GetInt("sigstatus", 0);

if (__userinfo.Sigstatus != 0)

{

__userinfo.Sigstatus = 1;

}

__userinfo.Tpp = DNTRequest.GetInt("tpp", 0);

__userinfo.Ppp = DNTRequest.GetInt("ppp", 0);

__userinfo.Templateid = DNTRequest.GetInt("templateid", 1);

__userinfo.Pmsound = DNTRequest.GetInt("pmsound", 0);

__userinfo.Showemail = DNTRequest.GetInt("showemail", 0);

int receivepmsetting = 1;

foreach (string rpms in DNTRequest.GetString("receivesetting").Split(','))

{

if (rpms != string.Empty)

{

int tmp = int.Parse(rpms);

receivepmsetting = receivepmsetting | tmp;

}

}

if (config.Regadvance == 0)

{

receivepmsetting = 7;

}

__userinfo.Newsletter = (ReceivePMSettingType)receivepmsetting;

__userinfo.Invisible = DNTRequest.GetInt("invisible", 0);

__userinfo.Newpm = 0;

__userinfo.Medals = "";

if (config.Welcomemsg == 1)

{

__userinfo.Newpm = 1;

}

__userinfo.Accessmasks = DNTRequest.GetInt("accessmasks", 0);

//

__userinfo.Website = Utils.HtmlEncode(DNTRequest.GetString("website"));

__userinfo.Icq = Utils.HtmlEncode(DNTRequest.GetString("icq"));

__userinfo.Qq = Utils.HtmlEncode(DNTRequest.GetString("qq"));

__userinfo.Yahoo = Utils.HtmlEncode(DNTRequest.GetString("yahoo"));

__userinfo.Msn = Utils.HtmlEncode(DNTRequest.GetString("msn"));

__userinfo.Skype = Utils.HtmlEncode(DNTRequest.GetString("skype"));

__userinfo.Location = Utils.HtmlEncode(DNTRequest.GetString("location"));

if (usergroupinfo.Allowcstatus == 1)

{

__userinfo.Customstatus = Utils.HtmlEncode(DNTRequest.GetString("customstatus"));

}

else

{

__userinfo.Customstatus = "";

}

__userinfo.Avatar = @"avatarscommon.gif";

__userinfo.Avatarwidth = 0;

__userinfo.Avatarheight = 0;

__userinfo.Bio = DNTRequest.GetString("bio");

__userinfo.Signature = Utils.HtmlEncode(ForumUtils.BanWordFilter(DNTRequest.GetString("signature")));

PostpramsInfo _postpramsinfo = new PostpramsInfo();

_postpramsinfo.Usergroupid = usergroupinfo.Groupid;

_postpramsinfo.Attachimgpost = config.Attachimgpost;

_postpramsinfo.Showattachmentpath = config.Showattachmentpath;

_postpramsinfo.Hide = 0;

_postpramsinfo.Price = 0;

_postpramsinfo.Sdetail = __userinfo.Signature;

_postpramsinfo.Smileyoff = 1;

_postpramsinfo.Bbcodeoff = 1 - usergroupinfo.Allowsigbbcode;

_postpramsinfo.Parseurloff = 1;

_postpramsinfo.Showimages = usergroupinfo.Allowsigimgcode;

_postpramsinfo.Allowhtml = 0;

_postpramsinfo.Smiliesinfo = Smilies.GetSmiliesListWithInfo();

_postpramsinfo.Customeditorbuttoninfo = Editors.GetCustomEditButtonListWithInfo();

_postpramsinfo.Smiliesmax = config.Smiliesmax;

__userinfo.Sightml = UBB.UBBToHTML(_postpramsinfo);

//

__userinfo.Authtime = Utils.GetDateTime();

//邮箱激活链接验证

if (config.Regverify == 1)

{

__userinfo.Authstr = ForumUtils.CreateAuthStr(20);

__userinfo.Authflag = 1;

__userinfo.Groupid = 8;

//SendEmail(tmpUsername, DNTRequest.GetString("password").Trim(), DNTRequest.GetString("email").Trim(), __userinfo.Authstr);

}

//系统管理员进行后台验证

else if (config.Regverify == 2)

{

__userinfo.Authstr = DNTRequest.GetString("website");

__userinfo.Groupid = 8;

__userinfo.Authflag = 1;

}

else

{

__userinfo.Authstr = "";

__userinfo.Authflag = 0;

__userinfo.Groupid = UserCredits.GetCreditsUserGroupID(0).Groupid;

}

__userinfo.Realname = DNTRequest.GetString("realname");

__userinfo.Idcard = DNTRequest.GetString("idcard");

__userinfo.Mobile = DNTRequest.GetString("mobile");

__userinfo.Phone = DNTRequest.GetString("phone");

int uid = Users.CreateUser(__userinfo);

if (config.Welcomemsg == 1)

{

PrivateMessageInfo __privatemessageinfo = new PrivateMessageInfo();

string curdatetime = Utils.GetDateTime();

// 收件箱

__privatemessageinfo.Message = config.Welcomemsgtxt;

__privatemessageinfo.Subject = "欢迎您的加入! (请勿回复本信息)";

__privatemessageinfo.Msgto = __userinfo.Username;

__privatemessageinfo.Msgtoid = uid;

__privatemessageinfo.Msgfrom = PrivateMessages.SystemUserName;

__privatemessageinfo.Msgfromid = 0;

__privatemessageinfo.New = 1;

__privatemessageinfo.Postdatetime = curdatetime;

__privatemessageinfo.Folder = 0;

PrivateMessages.CreatePrivateMessage(__privatemessageinfo, 0);

}

if (config.Regverify == 0)

{

UserCredits.UpdateUserCredits(uid);

//ForumUtils.WriteUserCookie(uid, -1, config.Passwordkey);

OnlineUsers.UpdateAction(0, UserAction.Register.ActionID, 0, config.Onlinetimeout);

Statistics.ReSetStatisticsCache();

//SetUrl("index.aspx");

//SetMetaRefresh();

//SetShowBackLink(false);

//这里添加代码提示“注册成功, 返回登录页"并return退出

//...

//

return true;

}

else

{

//SetUrl("index.aspx");

//SetMetaRefresh(5);

//SetShowBackLink(false);

if (config.Regverify == 1)

{

//这里添加代码提示“注册成功, 请您到您的邮箱中点击激活链接来激活您的帐号"并return退出

//...

//

}

if (config.Regverify == 2)

{

//这里添加代码提示“您注册成功, 但需要系统管理员审核您的帐户后才可登陆使用"并return退出

//...

//

}

return true;

}

}

catch

{

return false;

}

}

public static bool Delete(string userName)

{

int uid = Users.GetUserID(userName);

if (Convert.ToInt32(uid) > 1) //判断是不是当前UID是不是系统初始化时生成的UID

{

int deluserid = Convert.ToInt32(uid);

AdminUsers.DelUserAllInf(deluserid, true, true);

return true;

}

return false;

}

public static bool ChangePassword(string userName, string password)

{

try

{

int uid = Users.GetUserID(userName);

return Users.UpdateUserPassword(uid, password);

}

catch

{

return false;

}

//UserFactory.UpdateUserPassword(uid, newpassword);

//ForumUtils.WriteCookie("password", ForumUtils.SetCookiePassword(Utils.MD5(newpassword), config.Passwordkey));

//OnlineUserFactory.UpdatePassword(olid, Utils.MD5(newpassword));

}

}

}

【asp.net DiscuzNT登录,退出的代码】相关文章:

asp.net cookie清除的代码

asp.net中调用winrar实现压缩解压缩的代码

asp.net 购物车实现详细代码

asp.net下实现URL重写技术的代码

asp.net导出EXCEL的功能代码

asp.net(C#) 生成随机验证码的代码

asp.net web大文件上传带进度条实例代码

asp.net 无重复随机数代码

asp.net 文章内容分页显示的代码

asp.net 结合mysql存储过程进行分页代码

精品推荐
分类导航