“用户过期密码”在JDBCRealm

如何在JDBCRealm中使用“用户过期密码”? 它能够做到吗?     
已邀请:
JDBCRealm不提供此类功能。你需要自己写一个。我刚为我的webb应用编写了一个。我使用hibernate,但它并不重要,因为这些步骤非常通用。 首先在login.jsp(或其他任何名称)中设置会话属性'checkExpired'。
<c:set var="checkExpired" value="true" scope="session" />
然后在index.jsp中添加一些代码来读取checkExpired,如果它设置为true - 执行日期检查并将checkExpired的值设置为false!获取更改传递(存储在数据库中)的最后日期,并将其与当前日期进行比较。如果说90天以上(或更多)重定向用户更改密码jsp页面。 我的changepass.jsp包含一个用户输入新密码的表单。表单的操作是调用处理密码更改的servlet。 传递更改servlet验证密码,将其写入数据库并将数据库中的last_pass_change字段更新为当前日期。最后,它重定向到index.jsp。 现在,这根本不优雅(至少恕我直言),但这是你使用JDBCRealm进行身份验证时所付出的代价。如果您愿意,可以阅读扩展服务器功能或提供自己的领域。然而,对于一些如此微不足道的事情来说,这看起来似乎很多。 祝好运, 达摩     

要回复问题请先登录注册