문제

하나의 요구 사항에 대한 제안 ASP.NET 응용 프로그램은 우리가 세션 상태를 전 세계적으로 비활성화.(이것은 절대로 타협할 수 있는 것이 아닙니다.)

또 다른 조건은 우리가 어떤 의미에 대한 사용자 인증이 있습니다.나의 생각을 사용하여 ASP.NET 의원급 모델입니다.

가 있는 것이 가능한 사용자 인증이 없는 세션 상태?

특정 사용자 인증 예제는 우리가 찾고 있습니다:

  • 사용자가 웹사이트에증
  • 사용자가 등록한 정보(연락처 필드,etc.)
  • 의 나머지 부분에 대한 세션,사용자가 특정 콘텐츠에 대한 액세스를 감사해 그들의 등록 상태

하는 방법이 있나요 이렇게 쿠키?

이 될 수 있습니다 수행을 안전하게,그래서 쿠키를 용이하게 사용할 수 없는 스푸핑?

가 내장된 기능 ASP.NET 이를 지원하는 것입니다 우리는 롤 우리 자신의 방법은?

도움이 되었습니까?

해결책

ASP.NET 양식 인증은 사용하지 않습니다 SessionState. 쿠키를 사용하여 인증 티켓을 저장합니다.

또한 인증 티켓을 편집하여 SSL 채널을 통해 전송되도록 강요 할 수도 있습니다. web.config 파일.

필요한 모든 기능은 ASP.NET에 내장을 구축 할 수 있습니다.

http://msdn.microsoft.com/en-us/library/aa480476.aspx

다른 팁

확실히,쿠키는 이것을 할 것이다.

생각의 기본이다.세션 상태에 의해 관리되는 쿠키를 어쨌든.

여기에 당신이 무엇을 할 것입니다.

로그인할 때에,당신은 자신의 id 및 제한 시간(이렇게 로그인속,말,30 분 동안).

는 문자열이며,해시습니다.

(java,중요하지 않습 tho)

String cookie = userid + ":" + timeString + ":" + md5(userid + ":" + timeString + ":" + "secretpassword");

다음 요청에 대한 안타 귀하의 사이트,확인하는 쿠키입니다.먼저 확인 무결성이 있습니다.

String parts[] = cookie.split(":");
String newHash = md5(parts[0] + ":" + parts[1] + ":" + "secret password");
if (!newHash.equals(parts[2])) {
    // boom, cheater!
}

그 시간을 확인하는 문자열을 보면 그들은 여전히"로그온"에서,그리고 거기에서 이동합니다.

는지 확인하는 경우 당신은 시간은 일을 업데이트하는 쿠키에 모든 요청을 합니다.

예, 쿠키를 사용할 수 있습니다.

쿠키의 문제는 쿠키에 많은 데이터를 지속 할 수 없다는 것입니다. 마법사 유형 등록의 경우 데이터를 데이터베이스에 저장 한 다음 행 키/ID를 암호화 된 쿠키에 저장합니다. 이런 식으로 사용자가 다음 단계로 이동하면 데이터베이스에서 데이터를 검색 할 수 있습니다.

쿠키의 경우 쿠키 값을 타임 스탬프하고 암호화 할 수 있습니다. 일반적으로 사용자의 인증 상태를 관리하지 않습니다. 내장 된 Formsauthentication 클래스를 사용하여 웹 응용 프로그램의 해당 측면을 관리합니다.

MySpace 및 Live Search Club과 같은 대규모 사이트는 전적으로 쿠키에 주 경영진으로 의존합니다.

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