문제

로그인 시스템이 쿠키로 처리되지 않고 로컬(서버의) SQL DB에 있는 테이블에서 처리되어야 하는 웹 사이트를 만들고 싶습니다.

그것을 할 수 있는 방법이 있나요?부분적인 방법도 없나요?

쿠키 대신 무엇을 어디에 저장해야 하나요???

도움이 되었습니까?

해결책

ASP.NET은 기본적으로 세션 쿠키를 사용하여 사용자 요청을 추적합니다.쿠키 없는 세션을 사용하는 경우 브라우저의 모든 요청에 ​​세션 ID가 추가되는 것을 볼 수 있습니다.많은 시나리오에서 이는 허용되지 않을 수도 있습니다.

데이터베이스를 방문하여 각 요청마다 "LoggedIn" 플래그를 확인하기로 결정하더라도 들어오는 요청이 특정 사용자에게 속하는지 식별할 수 있는 방법이 여전히 필요합니다.이는 보안 시나리오에 따라 숨겨진 필드에 암호화된 값의 형태일 수 있습니다.하지만 이는 쿠키를 사용하는 것보다 훨씬 더 나은 방법은 아닙니다. 어느 클라이언트에서 오는 데이터가 변조되었을 가능성이 있습니다.

개인적으로 쿠키는 적절하게 암호화하기만 하면 사용자 요청을 추적하는 데 유용하다고 생각합니다.

다른 팁

사용자를 구분할 수 있는 방법이 여전히 필요합니다.쿠키를 사용하지 않으면 해당 정보를 URL로 전송하거나 단일 IP 주소에서 한 명의 사용자만 허용해야 합니다(이것은 정말 어리석은 일입니다).또는 다른 것.쿠키는 그렇게 나쁘지 않습니다 :-).

Cookieless asp.net

실제로 로그인 시스템을 구현하는 데 도움이 필요한 경우 특정 문제에 대한 자세한 내용을 포함해야합니다.

사용자 이름 등을 데이터베이스에 저장할 수 있지만 페이지에서 페이지마다 탐색 할 때 사용자를 인식하는 방법이 필요합니다. 이것이 바로이 로그인 토큰을 지속하기 위해 쿠키 역할입니다 ...

이 토큰을 처리하는 다른 방법을 구현할 수 있습니다. URL 또는 Somme Hidden Fields (ASP.NET의 ViewState)를 사용 하여이 토큰을 저장할 수 있습니다.

그래서 그렇습니다. 할 수 있습니다. 그러나 ASP.NET이 이미 제공하는 것을 사용할 수 없기 때문에 약간의 작업이 필요합니다. (ASP.NET 은이 토큰을 쿠키로 처리하고 데이터베이스에 자격 증명을 저장하기위한 내장 기능이 있습니다.)

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