<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)航:
     
    主站蜘蛛池模板: 亚洲福利一区二区精品秒拍| 成人免费毛片观看| 久草免费福利视频| av永久免费网站在线观看 | 亚洲性日韩精品国产一区二区| 国产一级大片免费看| 国产一区二区三区在线观看免费| 女人毛片a级大学毛片免费| 老司机永久免费网站在线观看| 免费无码又爽又刺激高潮| 女人被男人桶得好爽免费视频| 日本成人免费在线| 国产国产人免费人成免费视频| 免费一级做a爰片久久毛片潮喷| 免费国产a国产片高清网站| 亚洲日韩中文字幕日韩在线| 国产亚洲成人在线播放va| 亚洲av无码一区二区三区乱子伦| 久久精品国产亚洲av麻| 亚洲日本在线观看网址| 亚洲中文字幕AV在天堂| 丰满亚洲大尺度无码无码专线| 免费观看四虎精品成人| 中国一级毛片免费看视频| 国产猛男猛女超爽免费视频| 日本免费一区二区三区| 国产香蕉九九久久精品免费| 国产小视频在线观看免费| 久久精品国产精品亚洲下载| 亚洲国产精品热久久| 亚洲人xxx日本人18| 免费人成网站永久| 在线观看片免费人成视频无码| xxxx日本免费| 国产精品嫩草影院免费| 亚洲人成人无码网www电影首页| 337p日本欧洲亚洲大胆精品555588| 亚洲熟女综合一区二区三区| 九九综合VA免费看| 91精品国产免费入口| 日本视频免费在线|