문제

나는 주요 asp.net 응용 프로그램에서 작성 asp.net 1.1.실행 해 아래는 응용 프로그램은 여러 2.0 다.을 완전히 로그아웃을 사용할 수 있습니 그냥 로그아웃의 1.1 응용 프로그램으로 FormsAuthentication.아웃거나 그것보다 더 복잡는?

도움이 되었습니까?

해결책

당신이 찾고있는 무엇을 하라는 단일 사인에 단일 떨어져 서명하십시오.이에 차이가 있는 방법에 따라 당신은 응용 프로그램을 설정합니다.내가 하려고 명확하게는 그 차이점이다.

를 구현하는 하나의 기호에 하나의 서명을 만들 필요가 있는 쿠키이름,보호 및 특성 경로 사이에서 동일한 모두 응용 프로그램입니다.

<authentication mode="Forms">
    <forms name=".cookiename"
           loginUrl="~/Login.aspx" 
           timeout="30" 
           path="/" />
</authentication>

다음에 추가해야 합 컴퓨터 키고 그들은 동일해야 합 간에 모두 응용 프로그램을 수행합니다.

<machineKey validationKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902"
            encryptionKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902F8D923AC"
            validation="SHA1" />

당신은 당신을 사용하여 번째 수준의 도메인에 대한 응용 프로그램은 무엇입니까?그렇다면 당신이해야 할 것입니다 약간 더 추가해 도메인을 cookie:

protected void Login(string userName, string password)
{
    System.Web.HttpCookie cookie = FormsAuthentication.GetAuthCookie(userName, False);
    cookie.Domain = "domain1.com";
    cookie.Expires = DateTime.Now.AddDays(30);
    Response.AppendCookie(cookie);
}

지금 할 단일 떨어져 서명,전화 FormsAuthentication.아웃 충분하지 않을 수 있습니다.다음 최고의 것은 쿠키를 설정한 만료하여 과거 날짜입니다.이 쿠키는 사용되지 않습니다 다시한 인증이 있습니다.

protected void Logout(string userName)
{
    System.Web.HttpCookie cookie = FormsAuthentication.GetAuthCookie(userName, False);
    cookie.Domain = "domain1.com";
    cookie.Expires = DateTime.Now.AddDays(-1);
    Response.AppendCookie(cookie);
}

나는 고려 사항으로 당신이 사용하는 동일한 데이터베이스에 대한 모든 응용 프로그램입니다.는 경우 응용 프로그램 사용하여 별도의 데이터베이스에 등록하고 인증한 다음,우리가 해야 할 것이 몇 가지 더 있습니다.그냥 알려주는 경우 이러한 경우입니다.그렇지 않으면 이는 당신을 위해 작동합니다.

다른 팁

그것은 쉽게 될 수 있는 경우는 세션 중앙 저장소에 대한 모든 응용 프로그램을 수행합니다.를 설정할 수 있습 세션을 null 에서 하나의 장소입니다.

이것은 나를 위해 일했:

에서 로그아웃 이벤트 대신 FormsAuthentication.GetAuthCookie 방법 쿠키를 사용하여 컬렉션에서 요청을 아래와 같이 개체:

HttpCookie cookie = Request.Cookies.Get(otherSiteCookieName);
cookie.Expires = DateTime.Now.AddDays(-1);
HttpContext.Current.Response.Cookies.Add(cookie);

당연히,이에 필요 u 알고 쿠키는 사이트의 이름(s)당신이 원하는 사용자를 로그 아웃-그러나는 문제가 되지 않습을 사용하는 경우에는 동일한 쿠키를 통해 모든 web apps.

내가 사용하는 것을 선호하 web.config

<authentication mode="Forms">
    <forms domain=".tv.loc" loginUrl="~/signin" timeout="2880" name="auth" />
</authentication>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top