LockOutRealm

LockOutRealm 是一个 Tomcat 的 Realm 实现,它扩展了 CombinedRealm,假如在某一段时间内出现很多验证失败,则它能够提供锁定用户的功能。

为了确保操作的正确性,该 Realm 允许出现较合理的同步。

该 Realm 并不需要对底层的 Realm 或与其相关的用户存储机制进行任何改动。它会记录失败的登录,包括那些因为用户不存在的登录。为了防止无效用户通过精心设计的请求而实施的 DOS 攻击(从而造成缓存增加),没有通过验证的用户所在列表的容量受到了严格的限制。

子 Realm 是通过在定义 LockOutRealm 的 Realm 元素中内嵌 Realm 元素来实现的。验证操作会按照 Realm 元素的叠加顺序来逐个进行。对逐个 Realm 进行验证,从而就能充分证明用户的身份。

Realm 元素属性

为了配置 CombinedRealm,需要创建一个 <Realm> 元素,并将其内嵌在 <Engine> 或 <Host> 元素中的$CATALINA_BASE/conf/server.xml 文件内。同样,你也可以将其内嵌到 context.xml 文件下的 <Context> 节点。

范例

下面是 server.xml 中的一段代码,为 UserDatabaseRealm 添加了锁定功能。

<Realm className="org.apache.catalina.realm.LockOutRealm" >
   <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>
</Realm>
联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2024

备案号:京ICP备15003423号-3