<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 55,comments - 89,trackbacks - 0
       jforum是一個(gè)不錯(cuò)的開源BBS論壇,支持中文,操作方便,容易擴(kuò)展,是一個(gè)不錯(cuò)的選擇。通過參考網(wǎng)上的資料,下面給出了jforum與web項(xiàng)目整合的方法:
    1、實(shí)現(xiàn)SSO類:

    package net.jforum.sso;

    import javax.servlet.http.Cookie;

    import net.jforum.ControllerUtils;
    import net.jforum.context.RequestContext;
    import net.jforum.entities.UserSession;
    import net.jforum.util.preferences.ConfigKeys;
    import net.jforum.util.preferences.SystemGlobals;
    import org.apache.log4j.Logger;
     
      public class CookieUserSSO implements SSO {     
        
        static final Logger logger = Logger.getLogger(CookieUserSSO.class.getName());     
        
        public String authenticateUser(RequestContext request) { 
             // myapp login cookie, contain logged username     
            Cookie myCookie = ControllerUtils.getCookie("jforumSSOCookieNameUser");     
                 
            String username = null;          
            if (myCookie != null) username = myCookie.getValue();      
            System.out.println("cookie_name1="+myCookie.getName());   
            System.out.println("cookie value1="+myCookie.getValue());  
                 
            if (myCookie == null || username.trim().equals("")) {     
                //JForumExecutionContext.setRedirect(SystemGlobals.getValue(ConfigKeys.SSO_REDIRECT));     
                return null; // no cookie found     
            }      
            System.out.println("cookie_name2="+myCookie.getName());  
            System.out.println("cookie value2="+myCookie.getValue());  
            return username; // jforum username     
        }     
        
        public boolean isSessionValid(UserSession userSession, RequestContext request) {   
      System.out.println("執(zhí)行isSessionValid方法");
            Cookie SSOCookie = ControllerUtils.getCookie("jforumSSOCookieNameUser"); // myapp login cookie      
                           
            String remoteUser = null;     
                 
            if (SSOCookie != null) remoteUser = SSOCookie.getValue(); //  jforum username     
        
            // user has since logged out     
            if(remoteUser == null &&      
                    userSession.getUserId() != SystemGlobals.getIntValue(ConfigKeys.ANONYMOUS_USER_ID)) {     
                return false;     
            // user has since logged in     
            } else if(remoteUser != null &&      
                    userSession.getUserId() == SystemGlobals.getIntValue(ConfigKeys.ANONYMOUS_USER_ID)) {     
                return false;     
            // user has changed user     
            } else if(remoteUser != null && !remoteUser.equals(userSession.getUsername())) {     
                return false;     
            }     
            return true; // myapp user and forum user the same     
        }     
    }    

    把該類放在jforum\WEB-INF\classes下,然后用javac  -d  .  CookieUserSSO .java 命令編譯,.class文件存放在jforum\WEB-INF\classes\net\jforum\sso下。
    2、修改SystemGlobals.properties
       有些JForum版本為jforum-custom.conf文件。
       查找“SSO”字樣,找到“SSO / User authentication”配置部分,將其修改為以下內(nèi)容:
    authentication.type = sso-----------特別注意:sso用小寫,不能用大寫
    ##...
    sso.implementation = net.jforum.sso.CookieUserSSO----------你自己實(shí)現(xiàn)的SSO類
    ##...
    sso.redirect=http://localhost:port/jforum---------------例如:sso.redirect=http://localhost:8082/jforum
    3、在程序的登錄或注銷部分加入如下代碼:
         登錄:
    Cookie cookie = new Cookie("jforumSSOCookieNameUser",name);-------name為從登錄界面取得的用戶名,把它加入到cookie里面
      cookie.setPath("/");
      cookie.setMaxAge(-1);//設(shè)置cookie的生命周期為:會(huì)話級(jí),即瀏覽器關(guān)閉,該cookie就消失了
      response.addCookie(cookie);

        注銷:

      Cookie cookie =  new    Cookie(jforumSSOCookieNameUser, "");
      cookie.setMaxAge(0); // delete the cookie.
      response.addCookie(cookie);

    4、在html/jsp頁(yè)面加入超鏈接:
    <a href="/jforum">轉(zhuǎn)到論壇</a>

    這就配置完成了。


    posted on 2008-11-18 11:39 jiafang83 閱讀(1918) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 18禁止观看免费私人影院| 久久久久久久岛国免费播放 | 苍井空亚洲精品AA片在线播放 | 久久免费视频一区| 精品亚洲视频在线观看| 亚洲免费无码在线| 国产亚洲精品看片在线观看| 国产成人自产拍免费视频| 国产亚洲综合成人91精品| 一区二区三区在线免费看| 中文字幕亚洲综合精品一区| 一本岛高清v不卡免费一三区| 国产精品亚洲四区在线观看| 成人激情免费视频| 免费无毒a网站在线观看| 久久亚洲高清综合| 性无码免费一区二区三区在线| 久久久婷婷五月亚洲97号色 | 国产亚洲福利一区二区免费看| 国产av无码专区亚洲av毛片搜 | 亚洲av日韩av无码黑人| 亚洲网站免费观看| 亚洲一区二区观看播放| 亚洲av区一区二区三| 精品视频一区二区三区免费| 亚洲福利一区二区| 国产嫩草影院精品免费网址| 黄 色一级 成 人网站免费| 亚洲an天堂an在线观看| 精品久久久久成人码免费动漫| 午夜亚洲WWW湿好爽| 亚洲综合AV在线在线播放| 131美女爱做免费毛片| 亚洲AⅤ男人的天堂在线观看| 亚洲精品乱码久久久久久中文字幕 | 亚洲国产精品无码专区| 亚洲中文无码永久免费| 羞羞视频免费网站日本| 亚洲一区影音先锋色资源| 五月婷婷亚洲综合| 91精品成人免费国产片|