質問

次のコードはカスタム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;
}
役に立ちましたか?

解決

そのため、明らかに問題は、sso資格情報ストアから取得したユーザーになりすましたことでした。ただし、これを元に戻すと、アプリケーションプールのIDに戻り、次にGetCredentialsが呼び出されて、ssoでそのユーザーが検索されます。これは必ずしもssoアプリケーションのメンバーではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top