迷途書(shū)童

          敏感、勤學(xué)、多思
          隨筆 - 77, 文章 - 4, 評(píng)論 - 86, 引用 - 0
          數(shù)據(jù)加載中……

          Integrated cas with liferay

          借花獻(xiàn)佛:
          We found some way that somehow, solves the liferay integration with cas. The solution is this when you login in to liferay just in the try to call the login page of cas manually

          1) Change the view.jsp page. make the form method to get
          2) change touch_protected.jsp. Add
          <% String query=request.getQueryString();%>

          3) change touch_protected.jsp again. Add
          <body onLoad=”self.location=’<%= CTX_PATH%>/portal/protected?<%=query%>$mode=portal’;”>
          We will use this mode later on CAS login page

          3) Change top_bar.jsp and add

          <c:if test="<%= signedIn %>">
          <a href="<%= Http.getProtocol(request) %>://<%= request.getServerName() %>:<%=request.getServerPort()%>/html/common/logout2.jsp" class="bg" ><bean:message key="sign-out" /></a>

          </c:if>

          4) Change web.xml and add:
          <filter>
          <filter-name>CAS Filter</filter-name>
          <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
          <init-param>
          <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
          <param-value>https://casserver:8443/cas/login</param-value>
          </init-param>
          <init-param>
          <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
          <param-value>https://casserver:8443/cas/proxyValidate</param-value>
          </init-param>
          <init-param>
          <param-name>edu.yale.its.tp.cas.client.filter.logout</param-name>
          <param-value>https://casserver:8443/cas/logout</param-value>
          </init-param>
          <init-param>
          <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
          <param-value>casserver</param-value>
          </init-param>
          </filter>

          <filter-mapping>
          <filter-name>CAS Filter</filter-name>
          <url-pattern>/c/portal/protected/*</url-pattern>
          </filter-mapping>

          6) We should define a logout2.jsp which calls the cas logout url not liferay logout.

          NOW WE SHOULD GO TO CAS-SERVER. We should use the mode paramater here to do some tricks. Remmeber there are other applications that want to use the normal login page, only we(liferay users) need to make a hidden view of this page.

          5) change the the login.jsp and header.jsp. You must configure the CAS login page to view itself in while it login page is loaded in liferay. just add this on the header.jsp
          String mode="standard";
          String username="";
          String password="";
          String url = request.getParameter("service");
          if (!url.equals(null)){
          int pos=url.lastIndexOf('?');
          int pos1=url.indexOf("mode=portal",pos);
          if (pos1!=-1)
          {
          mode="portal";
          }

          now use the mode parameter to create a login form which all hidden filed

          <%
          if (mode.equals("portal"))
          {
          %>
          <script language="JavaScript">
          function submitForm() {
          document.login_form.username.value ="<%=username%>";
          document.login_form.password.value ="<%=password%>";
          document.login_form.submit();
          }
          </script>

          <body onLoad="submitForm()" >
          <form method="post" name="login_form">
          <input type="hidden" name="username" maxlength="20" size="12" dir="ltr">
          <input type="hidden" name="password" maxlength="20" size="14" dir="ltr">
          <input type="hidden" name="lt" value="<%= request.getAttribute("edu.yale.its.tp.cas.lt") %>" />
          </form>

          <%
          }
          else{
          //rest of the page

          posted on 2006-05-06 15:53 迷途書(shū)童 閱讀(938) 評(píng)論(3)  編輯  收藏 所屬分類(lèi): java應(yīng)用

          評(píng)論

          # re: Integrated cas with liferay[未登錄](méi)  回復(fù)  更多評(píng)論   

          Can you send us an email to liferaychina@gmail.com
          2008-08-14 22:52 | John

          # re: Integrated cas with liferay  回復(fù)  更多評(píng)論   

          您好,現(xiàn)在我正在將cas的登錄整合到liferay中,看到你上面的文章感覺(jué)應(yīng)該是一種解決的辦法,但是自己還是沒(méi)有弄明白,希望您能給予幫助,謝謝
          我的msn 是 hanxd106@hotmail.com
          郵箱是:172932@163.com
          2009-03-10 09:44 | 小皮球

          # re: Integrated cas with liferay  回復(fù)  更多評(píng)論   

          中國(guó)大連Liferay服務(wù)

          QQ:1417153858 (Liferay支持)
          QQ:1410151582 (Liferay培訓(xùn))
          QQ:1492270185 (Liferay企業(yè)版)

          24小時(shí)電話(huà)聯(lián)系:
          0411-84898263 (總機(jī))
          15601156692 (市場(chǎng)部)

          Liferay中國(guó)服務(wù)大連QQ群: 49845872
          2010-08-12 10:09 | hmf0786
          主站蜘蛛池模板: 永清县| 阜宁县| 乌鲁木齐市| 德清县| 舟山市| 广东省| 灵台县| 黄梅县| 三台县| 北海市| 昭通市| 马公市| 鄂托克前旗| 漳州市| 辉县市| 宁城县| 宁夏| 壶关县| 专栏| 隆昌县| 平原县| 张北县| 米林县| 永安市| 改则县| 南乐县| 西宁市| 辰溪县| 赤峰市| 中山市| 阳泉市| 荣成市| 子长县| 乌拉特中旗| 华宁县| 萨嘎县| 康定县| 静宁县| 民丰县| 定日县| 镇雄县|