通过SharePoint上的代码获取SSO凭据失败

时间:2009-06-16 12:58:38

标签: sharepoint single-sign-on

以下代码用于自定义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;
}

1 个答案:

答案 0 :(得分:0)

显然问题是我冒充了我从sso凭证商店获得的用户。但是当我撤消它时,它返回到应用程序池的标识,并且下次调用GetCredentials时,它会在sso中向该用户提供lokos,并且这不一定是sso应用程序的成员。