문제

SP 용 사용자 지정 STS를 사용하고 있습니다. 사이트는 SSO 임프로 사용 가능한 SAML 토큰입니다. 로그 아웃이 제대로 작동하지 않습니다. 사용자 정의 가입을 구현할 수 있습니까? SP 세션이나 맑은 쿠키를 지우는 것이 필요합니까?

도움이 되었습니까?

해결책

오늘 아침 에이 정확한 작업을 다루었습니다. 사용자 정의 STS가 로그인 한 사이트를 추적 할 수 있으며 WSIGNOUT1.0 핸들러에서 목록을 통해 가서 서명해야합니다.

전체 설명이 메서드의 전체 설명, 로그인 한 RPS를 추적하고 WSIGNOUT 처리기에 추가하는 코드가 모두 여기에 있습니다 :

"Nofollow"> http : // netpl.blogspot.co.uk/2010/12/wif-ws-federation-and-single-sign-out.html

Helper 클래스를 하나의 수정했지만, 로그 아웃 한 후 RPS를 추적하는 쿠키를 제거하는 정리 방법을 추가하여

public static void CleanUp()
{
    HttpCookie siteCookie = HttpContext.Current.Request.Cookies[SITECOOKIENAME];

    if (siteCookie != null)
        HttpContext.Current.Response.Cookies[SITECOOKIENAME].Expires = DateTime.Now.AddDays(-1);
}
.

를 누른 다음 결국 로그 아웃 핸들러가 있으면 전화를 걸어 라. 다음은 나의 가입 핸들러 블록이 있습니다 :

        else if ( action == WSFederationConstants.Actions.SignOut )
        {
            // Process signout request.
            SignOutRequestMessage requestMessage = (SignOutRequestMessage)WSFederationMessage.CreateFromUri( Request.Url );
            FederatedPassiveSecurityTokenServiceOperations.ProcessSignOutRequest( requestMessage, User, requestMessage.Reply, Response );

            string[] signedInUrls = SingleSignOnManager.SignOut();
            lblSignoutText.Visible = true;
            foreach (string url in signedInUrls)
            {
                SignOutLinks.Controls.Add(
                    new LiteralControl(string.Format(
                        "<p><a href='{0}'>{0}</a>&nbsp;<img src='{0}?wa=wsignoutcleanup1.0' " +
                        "title='Signout request: {0}?wa=wsignoutcleanup1.0'/></p>", url)));
            }

            SingleSignOnManager.CleanUp();
        }
.

는 매력처럼 작동합니다. ASP : lblsignouttext라는 label 및 default.aspx 에서 lbblsignouttext라는 div라고 표시된 div

자신을 알아 내어야할만한 것, 각 SharePoint 사이트의 로그 아웃 링크가 숨겨야하며, 를 가리키는 자체 로그 아웃 링크를 만들어야한다는 것입니다.

http://mycustomsts/Default.aspx?wa=wsignout1.0

(나는 실제로이 질문을 가질 때 이것을하는 영리한 방법을 위해 끈적 끈적했다. 희망이 내 대답이 도움이되기를 바랍니다!)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top