JDBCRealm中的“用户过期密码”
答
JDBCRealm不提供这种功能。你需要自己写一个。我为我的webb应用程序写了一个。我使用休眠,但这不是必需的,因为这些步骤非常通用。
- 首先在你的login.jsp(或者你称之为的)中设置一个会话属性'checkExpired'。
<c:set var="checkExpired" value="true" scope="session" />
然后在你的index.jsp添加一些代码来读取checkExpired,如果它设置为true - 执行日期检查并checkExpired的值设置为false !获取通票更改(存储在数据库中)的最后日期并将其与当前日期进行比较。如果说比旧版本(或更多)长90天,用户将更改密码jsp页面。
我changepass.jsp包括表单,用户键入新密码。表单的动作是调用处理密码更改的servlet。
通行证改变servlet的验证密码,将其写入数据库和databasse为当前日期更新last_pass_change领域。最后,它重定向到index.jsp。现在
,这是不是在所有(恕我直言至少)优雅的,但是这是你使用JDBCRealm进行身份验证时付出的代价。如果你想要,你可以阅读扩展你的服务器的功能或提供你自己的领域。但是,这对于如此微不足道的事情来说似乎有很多工作要做。
祝你好运,
达摩
+0
我会尝试thx! – cloverink 2011-04-03 08:19:49
是你在JDBCRealm定义能做到这一点的数据库? – EJP 2011-03-30 23:32:27
此功能取决于数据库吗? – cloverink 2011-03-31 09:33:56
@cloverlink:我不知道这个问题的含义。请翻译。 – EJP 2011-04-05 10:48:43