Установить сеанс на определенную структуру веб-контента Liferay

Как я могу установить сеанс страницы в определенной структуре веб-контента, чтобы, если я назначу любую страницу с этой конкретной структурой, она проверила, есть ли session или нет, и если нет, она запросит ввод пароля. Затем пользователь должен ввести пароль.

В структуру страницы я также хочу добавить кнопки Далее, Готово и Отмена, поэтому, если я закончу или отменю, сеанс будет уничтожен. И если после этого пользователь попытается зайти на страницу, у него снова спросят пароль.

Я пытаюсь сделать это из шаблона веб-контента *.VM.

Ниже приведен код, который я сделал до сих пор:

Код структуры:

<?xml version="1.0"?>

<root>
    <dynamic-element name="classified" type="list" index-type="" repeatable="false">
        <dynamic-element name="Yes" type="1" index-type="" repeatable="false" />
        <dynamic-element name="No" type="0" index-type="" repeatable="false"/>
    </dynamic-element>
    <dynamic-element name="content" type="text_area" index-type="" repeatable="false"/>
</root>

Код шаблона:

#if($classified.getData() == "1")
    #if($request.parameters.get('password') == "1234")
        <p>$content.getData()</p>
    #else
        <h2>This is the second authentication verification</h2>
        <p>Please enter your second password</p>

        #set ($url = $request.get('render-url'))

        <form action="$url" name="auth" method="POST">
            <label name="password">Password<span style="color:red">*</span></label>
            <input type="password" name="password" />
            <input type="submit" />
        </form>

        #if($request.parameters.get('password') != "1234")
            <p>Please enter correct password</p>
        #end
    #end
#else
    <h2>This is not a classified page</h2>
#end

Как я могу заставить эту идею работать.


person Haider Ghaleb    schedule 07.09.2012    source источник


Ответы (1)


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

person p.mesotten    schedule 07.09.2012
comment
Спасибо, я хотел бы знать, как я могу сделать сервлет, как вы упомянули, я думаю, что ваш подход имеет смысл. Вы можете помочь в этом? - person Haider Ghaleb; 07.09.2012