discuz !NT 3.5 論壇整合 .net 網站用戶登錄,退出


using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls.WebParts;
using System.Data;
using System.Text;
using Discuz.Toolkit;
using System.Text.RegularExpressions;
using System.Security.Cryptography;
using System.Xml.Linq;
using System.IO;
using Discuz.Common;
using Discuz.Forum;
using Discuz.Config;
using Discuz.Entity; 


protected  void Page_Load( object sender, EventArgs e)
    {
        
         if (!IsPostBack)
        {
             if (Request.Cookies[ " dnt "] !=  null && Request.Cookies[ " dnt "].Values[ " userid "] !=  null)
            {  // 從cookie中獲得UserID 
                 int uid = Convert.ToInt32(Request.Cookies[ " dnt "].Values[ " userid "].ToString());
                 // 得到這個用戶的全部信息 
                UserInfo a = Discuz.Forum.Users.GetUserInfo(uid);
                 // 打印出來看看對不對。
                
// Response.Write(a.Username); 
                 
                 this.denglu.Visible =  false;
                 this.tuichu.Visible =  true;
                Label1.Text =  a.Username ;
            }
             else
            {

                 this.denglu.Visible =  true;
                 this.tuichu.Visible =  false;
            }
        }
         

// 登錄 
protected  void ImageButton2_Click( object sender, ImageClickEventArgs e)
    {
         string username = txtUserName.Text.Trim();
string password = txtPassWord.Text.Trim();

string apikey =  " 7c48cc03caede883471b42e5e9b533d8 "; // 有Discuz后台管理擴展->通行證設置獲得
string secret =  " 2ad48b05ac6cf0025011600d4e658db5 "; // 同上
string url =  " http://bbs.xxxx.com/ ";// 你的bbs路徑
string cookieDomain =  " http://xxxx.com/ ";// 你的域名
DiscuzSession ds =  new DiscuzSession(apikey, secret, url);
int id = ds.GetUserID(username); // 根據用戶名獲取用戶ID
// 用戶名存在
if (id >  0)
{
// 取得用戶數據庫中的密碼
  string dbpassword=ds.GetUserInfo(id).Password;
// 判斷數據庫中的密碼和輸入的密碼是否一致
  if (dbpassword == FormsAuthentication.HashPasswordForStoringInConfigFile(password,  " MD5 ").ToLower())
 {
  // 輸入密碼正確,則登錄
     ds.Login(id, password,  true10000, cookieDomain);

     Discuz.Config.GeneralConfigInfo config = Discuz.Config.GeneralConfigs.GetConfig();
     
      // 刪除之前的錯誤登錄信息
     LoginLogs.DeleteLoginLog(DNTRequest.GetIP());
      // 根據積分公式刷新用戶總積分
     UserCredits.UpdateUserCredits(id);
      // 寫入用戶登錄后的cookie
     ForumUtils.WriteUserCookie(id, 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(id, DNTRequest.GetIP());
     


   this.denglu.Visible =  false;
   this.tuichu.Visible =  true;
  Label1.Text = ds.GetUserInfo(id).UserName;

 
 }
  else
 {
   // 密碼輸入錯誤
   Label1.Text =  " 密碼輸入錯誤 ";
    
 }
}
else
{
    Label1.Text =  " 用戶名不存在 ";
 }

    }


// 退出
  protected  void ImageButton3_Click( object sender, ImageClickEventArgs e)
    {
         // string username = txtUserName.Text.Trim();
        
// string password = txtPassWord.Text.Trim();
         if (Request.Cookies[ " dnt "] !=  null && Request.Cookies[ " dnt "].Values[ " userid "] !=  null)
        {
             int uid = Convert.ToInt32(Request.Cookies[ " dnt "].Values[ " userid "].ToString());
            UserInfo a = Discuz.Forum.Users.GetUserInfo(uid); 

             string apikey =  " 7c48cc03caede883471b42e5e9b533d8 "; // 有Discuz后台管理擴展->通行證設置獲得
             string secret =  " 2ad48b05ac6cf0025011600d4e658db5 "; // 同上
             string url =  " http://bbs.xxxx.com/ ";// 你的bbs路徑
             string cookieDomain =  " http://xxxx.com/ ";// 你的域名
            DiscuzSession ds =  new DiscuzSession(apikey, secret, url);
            ds.Logout(cookieDomain);
             int id = ds.GetUserID(a.Username);
             int olid = OnlineUsers.GetOlidByUid(id);
            OnlineUsers.DeleteRows(olid);
            ForumUtils.ClearUserCookie();
             this.denglu.Visible =  true;
             this.tuichu.Visible =  false;

        }
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM