Управление сеансами Struts 2 и динамическое отображение jsps

Я пишу приложение, используя структуру Struts 2. Он имеет страницу входа с именем пользователя, паролем и типом пользователя (например, администратор, руководитель, аналитик и т. д.).

Я хочу сделать две вещи:

  • Управление сеансом — выход из системы, выход из системы по времени и т. д.
  • Отображать разные страницы для разных пользователей в зависимости от типа пользователя.

Любая помощь на любом/оба высоко ценится.


person Ash S    schedule 02.08.2011    source источник
comment
Это может помочь для части входа в систему: .com/questions/5509606/   -  person Steven Benitez    schedule 02.08.2011


Ответы (2)


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

ваша вторая часть очень похожа на доступ пользователя и управление правами, и я считаю, что модуль безопасности spring - лучший подход для достижения этой цели Безопасность Spring

person Umesh Awasthi    schedule 02.08.2011

ваша вторая часть очень похожа на доступ пользователя и управление правами, и я считаю, что модуль безопасности spring - лучший подход для достижения этой цели Spring Security

Это один из подходов, однако он также требует изучения другого фреймворка поверх Struts.

В этом типе приложения я бы лично реализовал объект UserInfo для обслуживания в сеансе с полем типа учетной записи для выполнения условных операций. Например, учетная запись суперпользователя будет просто иметь логическое значение с геттером user.isSuperUser().

При этом вы можете вставить объект UserInfo в сеанс и использовать теги struts для включения разных страниц, например:

<s:if test="%{#session.user.SuperUser}">
   <s:include value="superUser.jsp" />
</s:if><s:else>
   <s:include value="regularUser.jsp" />
</s:else>
person Russell Shingleton    schedule 04.08.2011