我对使用Shiro的用户进行身份验证有以下要求:
注意:有两个用于存储用户信息的数据库。其中一个存储身份验证信息(用户名和密码),另一个数据库存储帐户过期时的信息。
我可以通过在shiro.ini中配置JDBC领域轻松完成第一个要求。
我猜测需要实现一些自定义Java逻辑来完成需求2和3.有关如何实现上述内容的任何提示?我需要实现自定义领域吗?
答案 0 :(得分:2)
实现这一目标的一种方法是创建自定义领域。
我们也有一些自定义要求也是认证。我们通过创建自己的自定义领域实现来实现这一点。我们扩展了AuthorizingRealm并覆盖了doGetAuthenticationInfo方法,以检查是否可以检查用户是否已登录。您可以将您的案例放在2& 3那里。
如果您只在Web环境中使用shiro,您可以考虑覆盖standation authc过滤器并覆盖isAccessAllowed方法,如果用户尚未激活或过期,我们可以实现一些自定义重定向。