0

次のコードは、カスタム Web パーツで使用されていますが、何らかの理由で、ページで最初に実行されたときにのみ機能します。その後、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クレデンシャルストアから取得したユーザーになりすましていたことでした。しかし、これを元に戻すと、アプリケーションプールのIDに戻り、次にGetCredentialsが呼び出されると、sso内のそのユーザーが検索され、必ずしもssoアプリケーションのメンバーであるとは限りません。

于 2009-06-18T09:21:40.083 に答える