0

http://docs.oracle.com/javase/6/docs/api/javax/security/auth/login/Configuration.html

它说

1) Required     - The LoginModule is required to succeed.
                  If it succeeds or fails, authentication still continues
                  to proceed down the LoginModule list.

它还说

The overall authentication succeeds only if all Required and Requisite LoginModules succeed. 
If a Sufficient LoginModule is configured and succeeds, then only the Required and 
Requisite LoginModules prior to that Sufficient LoginModule need to have succeeded 
for the overall authentication to succeed. 

似乎如果Required loginModule 失败,结果将失败。我的问题是,为什么如果Required loginModule 失败,身份验证仍然继续LoginModule 列表中进行?

4

1 回答 1

1

您绝对正确:如果所需的 loginModule 失败,则结果将失败。即使所有其他登录模块都会成功,也没有办法使成功。如果您希望执行其他模块,则要使用Required 的用例。例如,您有一个审核登录访问的可选模块。

JAAS 使您可以根据需要灵活地定义登录模块。如果您不需要立即停止并返回失败,请使用 Requisite。

于 2013-04-11T12:27:33.177 回答