您的位置:首页 > 其它

Weblogic验证提供程序控制标记(Authentication provider Control Flag)详解

2012-04-02 17:50 489 查看
Weblogic 验证提供程序控制标记( Authentication provider Control Flag )详解

 



 

 

一个weblogic安全领域可以有多个验证提供程序(Authentication Provider),每个验证提供程序都有一个控制标记,用于控制其在用户验证中的行为。

 

控制标记一共有四个取值:REQUIRED、REQUISITE、SUFFICIENT、OPTIONAL,可以用如下的方式来分类

 必须成功继续向下执行
REQUIRED成功继续,失败返回
REQUISITE成功继续,失败返回
SUFFICIENT成功返回,失败继续
OPTIONAL成功继续,失败继续
 

注:经验实验得出REQUIRED和REQUISITE相同,这和官方文档有出入(实验weblogic版本10.3.5.0


以下为官方文档描述

A
REQUIRED
value specifies this LoginModule must succeed. Even if it fails, authentication proceeds down the list of LoginModules for the configured Authentication providers. This setting is the default.

A
REQUISITE
value specifies this LoginModule must succeed. If other Authentication providers are configured and this LoginModule succeeds, authentication proceeds down the list of LoginModules. Otherwise, control is return to the application.

A
SUFFICIENT
value specifies this LoginModule need not succeed. If it does succeed, return control to the application. If it fails and other Authentication providers are configured, authentication proceeds down the LoginModule list.

An
OPTIONAL
value specifies this LoginModule need not succeed. Whether it succeeds or fails, authentication proceeds down the LoginModule list.

 

 

下面举例来进行说明:

例一 :两个验证提供程序,分别为AP1、AP2;AP1设置为REQUIRED,AP2设置为OPTIONAL;同一个user1在AP1中属于group1,在AP2中属于group2。
由于AP1标识为REQUIRED,所以user1必须通过其验证,如果未能通过其验证则直接返回,登录失败。如果通过了AP1的验证,user1还要去AP2中进行验证,不过

验证成功与否都不影响其登录,其总能成功登录,只不过会有不同的权限而已。如果通过了AP2的验证则user1拿到group1、group2,如果没有通过AP2的验证,其只能

拿到group1。

 

 

例二 :两个验证提供程序,分别为AP1、AP2;AP1设置为SUFFICIENT,AP2设置为SUFFICIENT;同一个user1在AP1中属于group1,在AP2中属于group2。
由于AP1设置为SUFFICIENT,所以如果user1通过了AP1的验证,就直接返回,其只能拿到group1;如果没有通过AP1的验证则还要去AP2中进行验证,如果成功则成功

登录并拿到group2,如果失败则登录失败

 

 

例三 :两个验证提供程序,分别为AP1、AP2;AP1设置为OPTIONAL,AP2设置为OPTIONAL;同一个user1在AP1中属于group1,在AP2中属于group2。
由于AP1设置为OPTIONAL,所以不论user1是否通过了AP1的验证,它都始终要去AP2中进行验证。如果两者都通过,则user1拿到group1、group2;如果只通过了

AP1则只能拿到group1,只通过了AP2则只能拿到group2

 

例四 :两个验证提供程序,分别为AP1、AP2;AP1设置为OPTIONAL,AP2设置为REQUIRED;同一个user1在AP1中属于group1,在AP2中属于group2。
由于AP1设置为OPTIONAL,所以不论user1是否通过AP1的验证,它都始终要去AP2中进行验证。如果通过AP2的验证,则登录成功并拿到group1、group2,如果验证失败

则登录失败。

 

 

只有搞清楚这个标识的概念我们才能正确处理多验证程序并存的情况,已及通过设置不同的标识来避免不必要的验证过程,优化性能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐