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

浏览: 2534

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

 

 

 

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

 

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

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

 

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

以下为官方文档描述

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.

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.

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,如果验证失败

则登录失败。

 

 

只有搞清楚这个标识的概念我们才能正确处理多验证程序并存的情况,已及通过设置不同的标识来避免不必要的验证过程,优化性能。

推荐 1
本文由 风在身后 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册