亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > Phpwind > 正文

jsp網站到phpwind論壇的同步登陸登出實現

2024-08-30 19:06:59
字體:
來源:轉載
供稿:網友

這幾天研究了下基于java+jsp開發的網站同phpwind論壇的同步登陸問題,主要就是要做到cookie的一致。

phpwind的cookie的生成方式較為復雜,而且查閱了網上很多資料,參照了phpwind包login.php里的過程,只是php語言的,對我這樣不熟悉php的人來說還是有點麻煩的。于是我用java代碼實現生成了phpwind可以識別的cookie,做到了同步登陸。

具體步驟如下:

生成的cookie的name和value都要與phpwind的一致,首先看cookie的name生成規則,先查找phpwind數據庫表pw_config的name為db_sitehash字段的值(這里用PwConfig.db_sitehash表示),經過MD5方式加密后,取前5位與字符串"_winduser"拼接而成。

java代碼如下:

  1. private String generateCookieName() { 
  2.        StringBuilder cookieNameString = new StringBuilder(md5.hash( 
  3.        PwConfig.db_sitehash).substring(0, 5)).append("_winduser"); 
  4.        return cookieNameString .toString(); 
  5.  } 

再看cookie的value生成規則,有點復雜,需要細心和一點耐心,需要獲取

  1. private String generateCookieValue(User user, HttpServletRequest request, 
  2.    HttpServletResponse response) { 
  3. //獲取系統瀏覽器信息,后面用到 
  4.   String user_Agent = request.getHeader("user-agent"); 
  5.   Integer pwMember_Uid = null
  6.  //獲取jsp網站登錄用戶在論壇用戶表中的uid,當然要同步登錄,jsp網站和論壇的數據庫用戶數據表數據肯定要一致啦 
  7.    pwMember_Uid = pwMembersDao.getuIdByUsername(user.getName()); 
  8.  
  9. //為了效率,字符串拼接操作都采用StringBuilder類型  
  10.   StringBuilder cookieBaseStringBuilder = new StringBuilder();  
  11.   if (pwMember_Uid != null) {  
  12. //這里的md5.hash()函數作用是對字符串進行MD5方式加密,返回32位結果字符串;user是jsp網站登錄的用戶對象,里面的密碼就是明文,PwConfig.db_hash是論壇pw_config表中db_hash的值  
  13. cookieBaseStringBuilder  
  14.      .append(pwMember_Uid.toString())  
  15.      .append("/t")  
  16.      .append(md5.hash(new StringBuilder(user_Agent)         
  17.        .append(md5.hash(user.getPassword()))  
  18.        .append(PwConfig.db_hash).toString()))  
  19.      .append("/t").append("");  
  20.   } else {  
  21.    return "";  
  22.   }  
  23.   String cookieBaseKey = md5.hash(  
  24.     new StringBuilder(user_Agent).append(PwConfig.db_hash)  
  25.       .toString()).substring(8, 26);  
  26.   String cookieBaseString = cookieBaseStringBuilder.toString();  
  27.   int keylen = cookieBaseKey.length();  
  28.   int strlen = cookieBaseString.length();  
  29.   StringBuilder cookieValueStringBuilder = new StringBuilder();  
  30.   for (int i = 0; i < strlen; i++) {  
  31.    int k = i % keylen;  
  32. //對前面生成的cookieBaseString和cookieBaseKey字符串中指定位字符進行按位異或  
  33.    cookieValueStringBuilder  
  34.      .append((char) (cookieBaseString  
  35.        .toCharArray()[i] ^ cookieBaseKey.toCharArray()[k]));  
  36.   }  
  37.   String cookieValue = cookieValueStringBuilder.toString();  
  38.   try {  
  39. //在進行一次Base64編碼  
  40. cookieValue = new String(Base64.encodeToByte(cookieValue  
  41.      .getBytes("UTF-8")));  
  42.   } catch (UnsupportedEncodingException e) {  
  43.    e.printStackTrace();  
  44.   }  
  45. //去掉base64編碼后末尾可能出現的等號,好像不去也行,好像phpwind識別時也會自動去掉  
  46.   cookieValue = cookieValue.replace("=""");  
  47.   return cookieValue;  
  48.  }  

至此,cookie的name和value都已經生成,只需要放到cookie中就行了.

  1. public void addCookie(User user, HttpServletRequest request, 
  2.    HttpServletResponse response) { 
  3.   String name = generateCookieName(); 
  4.   String value = generateCookieValue(user, request, response); 
  5.   Cookie cookie = new Cookie(name , value); 
  6.   cookie.setMaxAge(60 * 30); 
  7.   cookie.setPath("/"); 
  8.   response.addCookie(cookie); 
  9.  } 

同步登出也很容易,只要將指定name值的cookie的value設置為空就行了

  1. public void clearCookie(HttpServletResponse response) { 
  2.   Cookie cookie = new Cookie(getCookieName(), null); 
  3.   cookie.setMaxAge(0); 
  4.   cookie.setPath("/"); 
  5.   response.addCookie(cookie); 
  6.  } 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色诱女教师一区二区三区| 国产精品精品视频一区二区三区| 欧美黑人性生活视频| 在线性视频日韩欧美| 国产欧美日韩免费看aⅴ视频| 日本亚洲欧美三级| 国产99久久精品一区二区 夜夜躁日日躁| 国产精品精品视频| 欧美精品videosex性欧美| 国内精品久久久久影院 日本资源| 日韩精品视频在线| 亚洲一区二区免费在线| 欧美极品美女电影一区| 黄网站色欧美视频| 国产一区二区三区久久精品| 欧美—级高清免费播放| 欧美日韩中文字幕综合视频| 亚洲欧美中文字幕在线一区| 国产精品一区二区久久| 久久久91精品国产| 久久天天躁狠狠躁夜夜爽蜜月| 久久久欧美一区二区| 在线播放日韩精品| 日本韩国在线不卡| 国产97免费视| 91久久久久久久久久久| 在线播放日韩专区| www.美女亚洲精品| 成人精品在线观看| 精品久久久久久久久久| 久久久久一本一区二区青青蜜月| 日本一区二区在线免费播放| 国产精品mp4| 亚洲欧洲国产伦综合| 欧美黑人极品猛少妇色xxxxx| 欧美日本啪啪无遮挡网站| 国产亚洲福利一区| 亚洲人午夜精品| 午夜精品视频在线| 欧美成人在线免费| 国产精品va在线播放| 欧美日韩在线看| 日韩在线视频二区| 国产精品精品视频一区二区三区| 欧美激情在线视频二区| 欧美裸体男粗大视频在线观看| 97国产suv精品一区二区62| 日韩av网站大全| 亚洲激情视频在线| 国产一区二区在线免费| 91高清在线免费观看| 精品视频在线播放色网色视频| 欧美性猛交xxxx| 国内精品小视频在线观看| 成人444kkkk在线观看| 北条麻妃99精品青青久久| 欧美精品在线观看91| 久久久久久久久91| 日韩国产精品亚洲а∨天堂免| 97视频在线观看免费高清完整版在线观看| 欧美影院久久久| 91国产在线精品| 欧美视频第一页| 欧美日韩一区二区免费视频| 欧美日韩国产综合新一区| 国产男女猛烈无遮挡91| 91精品视频在线| 成人两性免费视频| 国产欧美在线观看| 亚洲精品久久久久久久久| 性色av香蕉一区二区| 欧美超级免费视 在线| 亚洲一区制服诱惑| 欧美大片第1页| 美女久久久久久久久久久| 国产精品小说在线| 日韩第一页在线| 亚洲一区二区三区毛片| 91精品国产自产在线| 91九色视频导航| 久久精品中文字幕电影| 精品国产区一区二区三区在线观看| 91嫩草在线视频| 亚洲天堂第二页| 成人久久18免费网站图片| 国产精品吴梦梦| 久久综合色影院| 国产在线观看精品一区二区三区| 日韩一区二区欧美| 成人欧美在线视频| 国产成人av网| 日韩成人中文字幕| 日韩中文字幕在线播放| 欧美人成在线视频| 久久久久国色av免费观看性色| 欧美小视频在线观看| 福利二区91精品bt7086| 亚洲精品美女久久| 欧美性jizz18性欧美| 日韩电影在线观看永久视频免费网站| 奇米成人av国产一区二区三区| 亚洲综合国产精品| 91国产美女在线观看| 精品国产自在精品国产浪潮| 日韩不卡中文字幕| 国产精品永久免费在线| 久久在线视频在线| 在线国产精品播放| 精品国产一区二区三区久久久| 亚洲国产美女精品久久久久∴| 亚洲一区二区久久| 国产亚洲一区精品| 色婷婷综合成人av| 久久久久久久香蕉网| 成人精品一区二区三区| 亚洲iv一区二区三区| 国产成人免费91av在线| 久久久久久久久91| 欧美精品激情blacked18| 欧美视频一区二区三区…| 欧美日韩激情小视频| 亚洲福利视频二区| 国产精品观看在线亚洲人成网| 日本在线精品视频| 久久国产精彩视频| 日韩av在线免费| 欧美日韩免费区域视频在线观看| 国产丝袜一区二区| 成人免费观看网址| 8x拔播拔播x8国产精品| 伊人伊成久久人综合网小说| 三级精品视频久久久久| 亚洲欧美国产精品专区久久| 久久人人爽人人爽爽久久| 日本韩国欧美精品大片卡二| 欧美性猛交xxxx乱大交极品| 国产91精品久久久久久久| 欧美性受xxxx白人性爽| 91中文字幕在线观看| 欧美猛少妇色xxxxx| 亚洲aaa激情| 午夜精品久久久久久久99热浪潮| 人人爽久久涩噜噜噜网站| 7777kkkk成人观看| 久久久国产视频| 日韩免费观看在线观看| 性金发美女69hd大尺寸| 久久久久久久久久国产精品| 亚洲成人动漫在线播放| 国产亚洲视频在线观看| 操91在线视频| 精品久久久国产精品999| 在线免费观看羞羞视频一区二区| 亚洲最大的av网站| 97超碰国产精品女人人人爽| 色噜噜久久综合伊人一本| 国产精品日韩欧美综合| 亚洲精品乱码久久久久久按摩观| 欧美成人在线影院| 亚洲视频在线观看| 成人网在线视频| 日韩女优在线播放| 欧美日韩中文字幕在线视频| 国产精品国产亚洲伊人久久|