我正在尝试在运行Wildfly数据库身份验证模块的应用程序中实现登录到期功能。
由于似乎无法在成功身份验证时触发自定义代码,或者任何类型的HttpSessionListener方法来获取此信息,我认为我可以在standalone.xml中的主体查询中添加WHERE子句以满足我的目标:
<login-module code="Database" flag="required">
...
<module-option name="principalsQuery" value="select password from parent where email=? and CURDATE() <= login_expiry_date "/>
...
</login-module>
但Wildfly会输出一个堆栈跟踪说
com.ctc.wstx.exc.WstxParsingException: Unexpected '<' in attribute value
我试图满足的业务要求规定用户的登录必须在启动后2周到期,并且可以由管理员手动重新启动。
我是否应该继续尝试将此业务逻辑破解到standalone.xml中的主体查询中,或者我最好使用类似批处理的过程来使用户过期?
答案 0 :(得分:1)
&LT;对xml属性字符串无效。你必须把它转移到&amp; lt;
<module-option name="principalsQuery" value="select password from parent where email=? and CURDATE() <= login_expiry_date "/>