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

首頁 > CMS > Phpwind > 正文

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

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

這幾天研究了下基于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(05)).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
国产精品久久久久91| 91av在线播放视频| 久久久久五月天| 精品美女永久免费视频| 日韩欧美国产网站| 91亚洲精华国产精华| 成人黄色av免费在线观看| 久久久www成人免费精品张筱雨| 亚洲精品资源在线| 国产日韩欧美日韩大片| 在线电影中文日韩| 久久久伊人欧美| 91国产中文字幕| 日韩欧美a级成人黄色| 日韩成人在线免费观看| 久久久久久久久久久网站| 亚洲人成电影在线观看天堂色| 久久影院中文字幕| 日韩在线观看电影| 日本免费一区二区三区视频观看| 亚洲品质视频自拍网| 国产日韩欧美日韩大片| 九九九久久国产免费| 91精品国产高清久久久久久久久| 欧美丝袜一区二区三区| 68精品国产免费久久久久久婷婷| 亚洲福利在线视频| 中文字幕在线看视频国产欧美| 国产一区二区三区日韩欧美| 一区二区欧美激情| 亚洲天堂成人在线视频| 51久久精品夜色国产麻豆| 亚洲精品98久久久久久中文字幕| 欧美日韩免费在线| 亚洲人成在线观看网站高清| 亚洲国产精品成人va在线观看| 欧美另类极品videosbest最新版本| 亚洲午夜国产成人av电影男同| 亚洲黄色免费三级| 综合激情国产一区| 精品少妇一区二区30p| 欧美高跟鞋交xxxxxhd| 亚洲精品www久久久久久广东| 久久久国产在线视频| 亚洲国产又黄又爽女人高潮的| 久久久国产在线视频| 国产亚洲精品va在线观看| 亚洲系列中文字幕| 国产欧美精品在线播放| 日本aⅴ大伊香蕉精品视频| 91精品国产网站| 久久躁狠狠躁夜夜爽| 欧美成人精品一区二区三区| 国产精品久久激情| 亚洲精品福利资源站| 国外成人免费在线播放| 亚洲国产天堂网精品网站| 自拍偷拍亚洲在线| 欧美成人中文字幕在线| 91精品国产成人www| 欧美黑人巨大精品一区二区| 午夜精品久久17c| 中文字幕亚洲天堂| 一色桃子一区二区| 色悠悠久久久久| 欧美激情a∨在线视频播放| 亚洲精品日韩久久久| 久久男人av资源网站| 亚洲国产精品久久精品怡红院| 亚洲国产精品va在线观看黑人| 亚洲v日韩v综合v精品v| 日韩成人av一区| 91中文在线观看| 国产精品中文字幕在线观看| 国产精品电影久久久久电影网| 精品国产一区二区三区久久久狼| 精品国产自在精品国产浪潮| 92国产精品视频| 日韩亚洲欧美成人| 欧美日韩国产精品| 日韩av在线免费| 色午夜这里只有精品| 国产深夜精品福利| 欧美黄色片在线观看| 4388成人网| 性色av一区二区咪爱| 亚洲午夜av久久乱码| 成人自拍性视频| 91精品国产91久久久久久最新| 欧美精品成人91久久久久久久| 亚洲天堂网在线观看| 亚洲精品一区二区久| 2021久久精品国产99国产精品| 精品av在线播放| 乱亲女秽乱长久久久| 欧美在线观看网站| 韩国美女主播一区| 欧美中文字幕第一页| 91精品国产乱码久久久久久久久| 538国产精品一区二区在线| 日韩精品在线免费观看| 久久精品人人做人人爽| 国产在线一区二区三区| 日韩欧美国产免费播放| 中文字幕一区二区精品| 欧美黄色性视频| 国产精品久久电影观看| 国产91色在线免费| 国产成人av在线| 国产日韩精品在线播放| 久久久久久国产免费| 亚洲日韩中文字幕| 欧美日韩一区二区三区| 国产一区二区黑人欧美xxxx| 米奇精品一区二区三区在线观看| 亚洲欧美另类国产| 日韩精品免费一线在线观看| 九九九久久国产免费| 日本91av在线播放| 亚洲自拍偷拍色图| 一本色道久久综合狠狠躁篇怎么玩| 国产一区二区三区在线看| 亚洲欧美日韩一区二区在线| 国产一区二区三区精品久久久| 日韩中文字幕免费| 亚洲自拍偷拍福利| 亚洲成人黄色网| 丁香五六月婷婷久久激情| 欧美精品成人91久久久久久久| 欧美视频免费在线观看| 亚洲性生活视频| 中文字幕无线精品亚洲乱码一区| 精品成人乱色一区二区| 91日韩在线播放| 91精品在线影院| 久久久久久久色| 精品久久久久久| 91成人天堂久久成人| 性色av一区二区咪爱| 精品毛片三在线观看| 久久躁狠狠躁夜夜爽| 97精品国产91久久久久久| 激情成人在线视频| 久久久精品视频在线观看| 国产一区二区免费| 亚洲精品一区av在线播放| 国产婷婷成人久久av免费高清| 国产精品视频地址| 国产在线观看精品一区二区三区| 亚洲美女性生活视频| 色综合老司机第九色激情| 亚洲石原莉奈一区二区在线观看| 孩xxxx性bbbb欧美| 国产精品女视频| 欧美精品18videos性欧美| 日韩精品欧美激情| 国产一区二区三区高清在线观看| 日韩国产激情在线| 亚洲天堂免费观看| 亚洲91av视频| 超碰精品一区二区三区乱码| 午夜精品一区二区三区在线| 日本久久中文字幕| 一区二区三区在线播放欧美|