欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【asp.net DiscuzNT登录,退出的代码】,下面是详细的讲解!
asp.net DiscuzNT登录,退出的代码
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=@"avatars\common\0.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(VS2010)中用户登录后退出登录
答:删除保存用户登陆信息的Session或者cookie 用过是Session的话,直接把Session[“你保存信息的变量”]=null 如果是cookie,则需要设置他的过期时间,把过期时间设为指定最长时间的2倍负数就行了。 如原来cookie是2小时过期... 那你就是cookie.Expire... >>详细
相关问题:在ASP。NET中退出系统的事件的代码
答:Response.Redirect("登录前地址"); 你说的当前的系统是什么??退到登录页面不就退出当前系统了吗? 添加一个HTML控件按钮,并为按钮添加javascript脚本 onclick="window.close();" 当然还应该加一个确认退出的询问框,confirm >>详细
相关问题:ASP.net做的网页,用超链接退出系统的代码是什么,求...
答:LZ首要要弄清楚什么是网站的验证机制。通常情况下我们是通过设置session、cookie等方式来防止客户登录管理后台,从而实现安全验证。 需要进行安全验证的页面往往要加session、cookie的方法与数据库中比对看是对正确。安全退出时,清空session、c... >>详细
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【服务器】asp.net页面状态管理cookie和服务器状
- 【Repeater控件】.NET实现Repeater控件+AspNetPag
- 【客户端】获取客户端IP地址c#/vb.net各自实现代
- 【asp】asp.net上传execl文件后 在页面上加载显示
- 【Excel】页面导出为Excel的时间格式的问题-时间
- 【ref】asp.net(c#)ref out params的区别-out-pa
- 【数据控件】asp.net获得数据控件事件索引并获取
- 【NET】10个.NET中删除空白字符串的方法-删除空白
- 【web】web.config配置连接字符串的方法-config配
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
