0

以下代码用于自定义 WebPart,由于某种原因,它仅在第一次在页面上执行时才有效。之后它抛出一个 SingleSignonCredsNotFoundException

非常感谢任何有关如何解决此问题的帮助或建议。

public static SsoIdentity GetCredentials(string applicationName)
{
    try
    {
        ISsoProvider ssoProvider = SsoProviderFactory.GetSsoProvider();
        SsoCredentials credentials = ssoProvider.GetCredentials(applicationName);

        string[] tmp = ConvertSecurityStringToString(credentials.UserName).Split(new string[] { "\\" }, StringSplitOptions.RemoveEmptyEntries);
        string username = tmp[1];
        string domain = tmp[0];
        string password = ConvertSecurityStringToString(credentials.Password);

        SsoIdentity wi = new SsoIdentity(username, password, domain);

        return wi;
    }
    catch (SingleSignonCredsNotFoundException ex)
    {

    }
    catch (SingleSignonException ex)
    {

    }

    return null;
}
4

1 回答 1

0

很明显,问题在于我在冒充我从 sso 凭证商店获得的用户。但是当我撤消此操作时,它会返回到应用程序池的标识,并且下次调用 GetCredentials 时,它会在 sso 中查找该用户,而这不一定是 sso 应用程序的成员。

于 2009-06-18T09:21:40.083 回答