В Oracle ATG, как я могу предотвратить повторный вход пользователя в систему

В oracle ATG, как мы можем запретить пользователю, который уже вошел на сайт, снова войти в систему. В моем приложении, если пользователь вошел в систему, и если он возвращается на страницу входа и пытается снова войти в систему, он показывает недействительный сеанс. Можем ли мы отключить это в atg?


person David    schedule 05.08.2015    source источник
comment
Можете ли вы уточнить: проблема в том, что пользователи могут получить доступ к странице входа? Или вы спрашиваете, как предотвратить повторный вход пользователей в систему после того, как они вошли в систему?   -  person bated    schedule 05.08.2015
comment
Отображается ли сама страница входа вашим приложением ATG?   -  person zmcmahon    schedule 05.08.2015
comment
Да, мне нужно запретить пользователю снова выполнять метод handleLogin, если пользователь вошел в систему. Я проверял, является ли профиль временным внутри дескриптора входа в систему. Я хочу понять, есть ли у нас какая-либо реализация atg по умолчанию для этого, например RepeatRequestMonitor.   -  person David    schedule 06.08.2015
comment
RepeatingRequestMonitor предназначен для предотвращения отправки пользователем одной и той же формы несколько раз, например. пользователь, дважды быстро нажимающий «Войти».   -  person bated    schedule 06.08.2015
comment
Вы можете переопределить метод preLoginUser и вернуть соответствующее сообщение, если пользователь является переходным.   -  person Saurabh    schedule 08.09.2015


Ответы (1)


Есть несколько способов добиться желаемого:

  1. Вы можете включить логику в jsp, который содержит фрагмент формы входа, чтобы включить различные фрагменты в зависимости от того, вошел ли пользователь в систему или нет, например. если пользователь вошел в систему, включите фрагмент, который говорит: «Вы уже вошли в систему или что-то подобное»
  2. Вы можете использовать каплю Redirect, например.

    <dsp:importbean bean="/atg/dynamo/droplet/Switch"/>
    <dsp:droplet name="Switch">
     <dsp:param name="value" param="Profile.isTransient"/>
    <dsp:oparam name="false">
       <!-- redirect to another page -->
       <dsp:droplet name="/atg/dynamo/droplet/Redirect">
         <dsp:param name="url" value="http://www.acme.com/alreadyLoggedIn.jsp"/>
       </dsp:droplet>
    </dsp:oparam>
    <dsp:oparam name="true">
      <!-- do nothing -->
    </dsp:oparam>
    </dsp:droplet>`
    
person bated    schedule 06.08.2015