2011-12-30 2 views
3

Я использую Liferay 6 для разработки, я разработал портлет Liferay6 Struts2 и развернул его. Использования пользовательских JSP-страница Крючки, я заменяю $ PORTAL_ROOT_HOME/HTML/портлет/логин login.jsp и создал свою собственную страницу JSP, как показаноLiferay 6, Custom Login Page

<HTML> 
    <HEAD> 
     <TITLE>Login using jsp</TITLE> 
    </HEAD> 
    <BODY> 
     <H1>LOGIN FORM</H1> 
      <form> 
       <table> 
        <tr> 
         <td> Username : </td><td> <input name="username" size=15 type="text" /> </td> 
        </tr> 
        <tr> 
         <td> Password : </td><td> <input name="password" size=15 type="text" /> </td> 
        </tr> 
       </table> 
       <input type="submit" value="login" /> 
      </form> 
    </BODY> 
</HTML> 

Это прекрасно работает, на странице пользовательского JSP показывается вверх. Теперь, пожалуйста, сообщите, нажав кнопку отправки, как я могу разбить класс java, который проверяет базу данных аганистов учетных данных.

Пожалуйста, расскажите, как я могу получить эти значения под моим классом и проверить их.

Thanks

ответ

6

Возможно, у вас есть решение к этому времени. Если нет, вы можете попробовать следующее.

Я считаю, что вы пытаетесь переопределить портлет входа в систему liferay. В этом случае есть 2 способа вы можете обрабатывать этот механизм входа. (Убедитесь, что то же самое имя дается для ввода полей в качестве страницы входа Liferay имеет)

  1. Расширение класса LoginAction в Liferay в. Вам нужно написать плагин ext, или если вы используете 6.0 SP2 или 6.1, вы можете использовать hook для расширения класса LoginAction. Refere mika's blog http://www.liferay.com/web/mika.koivisto/blog/-/blogs/7132115

  2. Напишите свой собственный класс, который должен реализовать интерфейс Authenticator для liferay, и вам необходимо переопределить 3 метода интерфейса Authenticator.

Например, если вы перекрывая authenticateByEmailAddress (....), вы должны вернуть УСПЕХА (1) или FAILURE (-1). Я считаю, что второй и третий параметры метода - это идентификатор пользователя и пароль, которые вводятся на экране. обратитесь пожалуйста источник liferay.

Для того, чтобы механизм аутентификации по умолчанию обходного Liferay, в дать следующую конфигурацию на portal-ext.properties auth.pipeline.pre = your.package.your.class

Еще LifeRay проверки против своей собственной базы данных. Чтобы избежать этого, добавьте следующую конфигурацию в portal -ext.properties.

auth.pipeline.enable.liferay.check = false.

Таким образом, у вас есть собственная аутентификация, в которой вы можете пройти аутентификацию против своей собственной базы данных или того, что вы хотите.

Подробнее http://www.liferay.com/web/guest/community/wiki/-/wiki/Main/Developing+a+Custom+Authentication+System

Надеется, что это помогает