这基本上是通过一个长寿的cookie完成的。JSF API不提供此功能,因为它只是一个基于组件的简单MVC框架。标准Java EE
API也未提供此功能。诸如Spring Security和Apache Shiro之类的某些身份验证框架提供了此功能。
如果您需要使用“普通” Java EE / JSF来实现此目的,那么您需要在通过登录时自己创建一个长期存在的cookie
ExternalContext#addResponsecookie()。cookie值必须是一个长的,唯一的,自动生成的且难以猜测的值(例如
java.util.UUID),您还必须将其存储在与用户ID关联的DB中。然后,可以使用简单的servlet筛选器来检查
HttpServletRequest#getcookies()已确认登录的用户不存在时的cookie
。如果找到该cookie并有效,则自动登录用户。
为了提高安全性,如有必要,请最终用户提供选项以“锁定”此cookie在用户IP上,该用户IP还将与cookie ID和用户ID一起存储在DB中。



