Согласно https://community.jboss.org/thread/178998 RemeberMe не является интегрированным seam-security-3.1, но класс уже подготовлен .
Известный RememberMe из Seam2 доступен в двух режимах:
Первый режим позволяет сохранять имя пользователя в браузере пользователя в виде файла cookie и оставляет ввод пароля до браузера (многие современные браузеры способны запоминать пароли).
Второй режим поддерживает сохранение уникального токена в cookie-файле и позволяет пользователю автоматически проходить аутентификацию по возвращении на сайт без необходимости ввода пароля.
К счастью, не сложно реализовать обходной путь для первого режима. После успешного входа вы можете установить cookie:
FacesContext.getCurrentInstance().addResponseCookie("cookieName", "myToken", null);
Затем убедитесь, что ваш собственный CookieBean
вызывается до входа в систему
<ui:fragment rendered="#{cookieBean.dummy}"/>
<h:form id="fLogin">
<h:inputText value="#{credentials.username}"/>
<h:inputSecret value="#{credentials.password}" redisplay="true"/>
<h:commandButton value="LOGIN" action="#{identity.login}"/>
</h:form>
В вашем CookieBean
вы можете проверить, доступен ли ваш файл cookie, сопоставить предоставленный токен с именем пользователя, а затем заполнить имя пользователя в вашей форме.
@Named @SessionScoped
public class CookieBean implements Serializable
{
@Inject Credentials credentials;
@PostConstruct
public void init()
{
Map<String, Object> cookies = FacesContext.getCurrentInstance().
getExternalContext().getRequestCookieMap();
// Check if you cookie is available
// Do some stuff with your cookie
// Cookie cookie = (Cookie) cookies.get("cookieName");
credentials.setUsername("myUserName");
}
public boolean getDummy() {return false;}
}