Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何确保在OpenAM的身份验证链中使用相同的主体?_Openam - Fatal编程技术网

如何确保在OpenAM的身份验证链中使用相同的主体?

如何确保在OpenAM的身份验证链中使用相同的主体?,openam,Openam,我需要用OpenAM建立一个两步认证链。在第一步中,模块请求一个用户证书(该证书之前必须与用户ID链接),并将其发送到一个外部web服务,该服务将对其进行验证并返回用户ID,该用户ID将成为主体的名称: public Principal getPrincipal() { return new DataStorePrincipal(userID); } 在第二步中,模块要求用户输入他的用户ID和密码。如何确保键入的用户ID与步骤1中的相同 模块链接如下: 证书-必备 ID/密码-必需 第

我需要用OpenAM建立一个两步认证链。在第一步中,模块请求一个用户证书(该证书之前必须与用户ID链接),并将其发送到一个外部web服务,该服务将对其进行验证并返回用户ID,该用户ID将成为主体的名称:

public Principal getPrincipal()
{
    return new DataStorePrincipal(userID);
}
在第二步中,模块要求用户输入他的用户ID和密码。如何确保键入的用户ID与步骤1中的相同

模块链接如下:

  • 证书-必备
  • ID/密码-必需

  • 第一个模块可以在共享状态映射中保存“userId”,第二个模块可以从共享状态映射中读取它。您可以查看现有的身份验证模块源代码,因为它们支持“共享状态”


    您也可以查看一下“”

    ,效果很好,谢谢!为了共享我在模块中使用的代码,下面介绍如何将userID设置为第一个模块上的共享状态:
    storeUsernamePasswd(userID,null)
    以及如何在第二个模块上读取它,在
    init()方法中:
    sharedState.get(getUserKey())