2012-05-11 4 views
0

어떻게 Liferay에서 세션을 사용자 정의 할 수 있습니까? 더 많은 도움이 될 샘플 코드를 환영합니다. Liferay를 처음 접하십니까? 더 구체적으로 말하면 내가 한 일을 설명 할 것입니다. 이제Liferay의 세션 관리

<aui:form action="" method="post"> 
     <table> 
      <tr> 
       <td>Username :</td> 
       <td><input name="login" size=15 type="text" /></td> 
      </tr> 
      <tr> 
       <td>Password :</td> 
       <td><input name="password" size=15 type="password" /></td> 
      </tr> 
     </table> 
     <aui:button type="submit" value="sign-in"/> 
</aui:form> 

하십시오 : 사용자 정의 JSP를 후크를 사용하여, 나는 $ PORTAL_ROOT_HOME/HTML/포틀릿/로그인의 login.jsp를 무시하고 내 자신의 JSP 페이지를 생성하고 또한 오버라이드 (override) 한 LoginAction class.My의 login.jsp 페이지는 아래와 같다 제출 버튼을 클릭하면 LoginAction.java에서 로그인 값을 가져와 세션에 값을 설정하는 방법을 알 수 있습니다. 이것은 내가 커스터마이징하는 것을 의미합니다.

+0

세션을 "사용자 지정"한다는 의미를 자세히 설명해야합니다. – adarshr

+0

희망은 이제 꽤 명확! –

답변

1

login.jsp 파일을 처음부터 시작합니다. 코드 네비게이션의 모습으로 loginAction에 액션을 설정하는 것을 잊었습니다.

<portlet:actionURL secure="<%= PropsValues.COMPANY_SECURITY_AUTH_REQUIRES_HTTPS || request.isSecure() %>" var="loginURL"> 
      <portlet:param name="saveLastPath" value="0" /> 
      <portlet:param name="struts_action" value="/login/login" /> 
      <portlet:param name="doActionAfterLogin" value="<%= portletName.equals(PortletKeys.FAST_LOGIN) ? Boolean.TRUE.toString() : Boolean.FALSE.toString() %>" /> 
     </portlet:actionURL> 

<aui:form action="<%= loginURL %>" method="post"> 
     <table> 
      <tr> 
       <td>Username :</td> 
       <td><aui:input name="login" size=15 type="text" /></td> 
      </tr> 
      <tr> 
       <td>Password :</td> 
       <td><aui:input name="password" size=15 type="password" /></td> 
      </tr> 
     </table> 
     <aui:button type="submit" value="sign-in"/> 
</aui:form> 

이 훅에 orginal 한 $의 PORTAL_ROOT_HOME/HTML/포/로그인 /의 login.jsp를 복사하는 것이 좋습니다 있습니다 : 이것은 다음과 같은 방법을 수행 할 수 있습니다. 필요한 경우 수정하십시오.

제공된 스 니펫 만 있으면 모든 기능이 중단되거나 제거됩니다.

조치에서 매개 변수를 수신하려면 Pauls 응답을 사용할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 그것의 일 벌금은 지금 !! 하지만 폴 응답에 따라 로그인 값을 얻을 수 없습니다. 나는 빈 값을 얻고있다. 모델 클래스를 작성해야합니까? –

+0

Paul이 aui : input 태그를 사용해야 할 필요가 있다고 답변 한 경우 :-), 필요한 네임 스페이스를 추가합니다. – David

1

당신은이 코드를 사용하여 로그인 값을 얻을 수 있습니다 :

String login = ParamUtil.getString(request, "login"); 
    String password = ParamUtil.getString(request, "password"); 

세션 사용이 일부 값을 설정하려면 :

HttpSession session = request.getSession(); 
    session.setAttribute("parm", "somevalue"); 

BR을 폴

당신은 origonal을 복사해야
+0

답장을 보내 주셔서 감사합니다. 폼에서 작업을 설정할 수 있습니까? 그게 내가 필요한 건, 제출 버튼을 클릭하면 LoginAction 클래스로 리디렉션해야합니다. –

+1

당신은 aui 입력을 사용해야합니다 : 포틀릿 네임 스페이스 접두사를 가진 입력을 생성 할 수 있습니다. 그것은 요청에서. 또한 /portal/portal-web/docroot/html/portlet/login/login.jsp의 원본 login.jsp를 확인하십시오. –