2014-03-06 3 views
0

싱글 사인온을 사용하여 .Net의 응용 프로그램을 사용하십시오. 우리는 CAS를 구현했습니다. 단일 사인 온은 작동하지만 단일 사인 아웃은 작동하지 않습니다.asp.net에서 CAS를 사용하는 단일 로그 아웃이 사용자를 로그 아웃하지 않습니다.

은 Web.config의에서 CAS의 구성은 다음과 같습니다 (

: 나는이 문제가

ClearAuthCookie(); 
string redirectPage = System.Configuration.ConfigurationSettings.AppSettings["CASurl"]; 
Response.Redirect(redirectPage, true); 
public static void ClearAuthCookie() 
{ 
    HttpContext current = HttpContext.Current; 
    HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName); 
    cookie.Expires = DateTime.Now.AddMonths(-1); 
    cookie.Domain = FormsAuthentication.CookieDomain; 
    cookie.Path = FormsAuthentication.FormsCookiePath; 
    current.Response.Cookies.Add(cookie); 
} 

: 내가 로그 아웃 기능에 쿠키를 삭제 코드 아래에 추가

<section name="casClientConfig" type="DotNetCasClient.Configuration.CasClientConfiguration, DotNetCasClient"/> 

<casClientConfig 
    casServerLoginUrl="http://aus-vc-bdpu-tl1.argous.com:8100/cas/login" 
    casServerUrlPrefix=" http://au-vc-bdpu-tl1.argous.com:8100/cas" 
    serverName="http://localhost:53124/" 
    cookiesRequiredUrl="~/CookiesRequired.aspx" 
    redirectAfterValidation="true" gateway="false" renew="false" singleSignOut="true" 
    ticketTimeTolerance="50000000" 
    ticketValidatorName="Saml11" proxyTicketManager="CacheProxyTicketManager" 
    serviceTicketManager="CacheServiceTicketManager" 
    gatewayStatusCookieName="CasGatewayStatus"/> 

1) 로그 아웃 할 때 페이지가 원하는 페이지로 리디렉션됩니다. 그러나 뒤로 버튼으로 응용 프로그램 홈 페이지로 돌아가서 다양한 링크를 클릭하면 페이지가 링크로 이동합니다. f를 눌러 사용자에게 로그인하도록 요청하십시오. 따라서 로그 오프가 성공적이지 않습니다.

(2) 사용자가 단일 로그온을 사용하는 다른 응용 프로그램을 사용 중이고 다른 응용 프로그램에서 로그 오프 한 경우 사용자는 여전히 우리 웹 사이트 인 부모 응용 프로그램에 액세스 할 수 있습니다. 따라서 단일 로그 아웃이 작동하지 않습니다.

여기가 작동하지 않기를 바랍니다.

답변

0
당신이 아니라 지금이 알아 낸 수

-하지만 당신이 사용해야하는 명령은 다음과 같습니다이 서버의 로그 아웃에 대한 CAS 서버로 리디렉션을 만들고 로컬 인증 cookeies을 제거

CasAuthentication.SingleSignOut(); 

이 답변으로 이동해야하는 위치

See also this SO answer

+0

당신은 추가 할 수 있을까요? – MarkyDD