使用Cognos身份验证时SystemServerCAMSecurityRequired错误(Sys

2019-10-19 06:43发布

我现在用的是COGNOS TM1 10.1 API连接到服务器。 服务器使用COGNOS为又使用集成登录对我们的Active Directory实例验证用户身份的认证。 我已经尝试使用TM1SystemServerConnectTM1SystemServerConnectIntegratedLogin ,但他们都产生错误。

(请注意,我用pseduo代码的简单-是的,我已经核实了所有的手柄,投入等,都是正确和准确)

// Standard login
TM1V pLogin = TM1ValuePool( hUser );
TM1V hServerName = TM1ValString( pLogin, "server", 0 );
TM1V hUser = TM1ValString( pLogin, "userid", 0 );
TM1V hPassword = TM1ValString( pLogin, "password", 0 );
TM1SystemServerConnect( pLogin, hServerName, hUser, hPassword )
// Integrated Login
TM1V pLogin = TM1ValuePool( hUser );
TM1V hServerName = TM1ValString( pLogin, "server", 0 );
TM1V hServer = TM1SystemServerConnectIntegratedLogin( pLogin, hServerName );

手柄我从两者(所述HServer)点回用代码中的错误199和消息SystemServerCAMSecurityRequired 。 我已经通过了IBM的搜索TM1 API指南 ,我无法找到(此错误信息或任何文件)的解决方案......这是怎么回事? 在服务器上显示的登录失败的登录attemtps,但没有提供更多的信息。

Answer 1:

该错误是因为上面使用的两种记录的登录功能是specificaly为IntegratedSecurityMode 1,2和3。

您曾表示使用的是Cognos来处理用户身份验证,这是两种模式下4或5。有两个更多或更少的用于登录到使用Cognos认证服务器“无证”功能:

  • TM1SystemServerConnectWithCAMNamespace

  • TM1SystemServerConnectWithCAMPassport

下面是一个示例,用C ++编写(从复制这里 ),你可以使用使用Cognos身份验证连接参考:

TM1V voServerName = TM1ValStringW( hPool, (TM1_UTF16_T *)pszServerName, 0 );

TM1V voPasswd = TM1ValStringEncryptW( hPool, (TM1_UTF16_T*)pszPassword, 0 );

TM1V vArray[3];
vArray[0] = TM1ValStringW( hPool, (TM1_UTF16_T*)szCAMNamespace, 0 );        
vArray[1] = TM1ValStringW( hPool, (TM1_UTF16_T*)admin_login_name, 0 );
vArray[2] = voPasswd;

TM1V vCAMArgArr = TM1ValArray(hPool, vArray, 3);
TM1V vTmpServer =
    TM1SystemServerConnectWithCAMNamespace(hPool, voServerName, vCAMArgArr);


文章来源: SystemServerCAMSecurityRequired error when authenticating using Cognos
标签: cognos-tm1