모든 사용자에게 정보를 표시하는 웹 사이트가 있습니다. 그러나 로그인 한 경우 더 많은 정보와 페이지에 액세스 할 수 있습니다.특정 페이지를 잠그고 다른 페이지를 열어 두십시오.
일부 세션 변수를 사용하여 각 페이지에 포함시킬 수 있습니까? 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
또한 '사용자 정보 기억'확인란의 일종 인 사용자 로그인 상태를 유지하는 가장 좋은 방법은 무엇입니까? hdd에 쿠키를 저장 하시겠습니까?
모든 사용자에게 정보를 표시하는 웹 사이트가 있습니다. 그러나 로그인 한 경우 더 많은 정보와 페이지에 액세스 할 수 있습니다.특정 페이지를 잠그고 다른 페이지를 열어 두십시오.
일부 세션 변수를 사용하여 각 페이지에 포함시킬 수 있습니까? 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
또한 '사용자 정보 기억'확인란의 일종 인 사용자 로그인 상태를 유지하는 가장 좋은 방법은 무엇입니까? hdd에 쿠키를 저장 하시겠습니까?
첫 번째 질문에 답하십시오. 가장 쉬운 방법은 세션에 저장 한 내용을 기반으로 특정 컨트롤의 표시 여부를 설정하는 코드가있는 것입니다.
이렇게 복잡해지기 때문에 비즈니스 규칙에 가장 적합한 것이 무엇인지 파악할 수 있습니다.
두 번째 질문에 답변하십시오. 나중에 참조 할 수있는 정적 쿠키에 저장해야합니다. 개인적으로 로컬 데이터베이스에 복사본을 저장하는 쿠키에 GUID를 저장하는 것이 좋습니다. 누군가가 사이트를 다시 방문하면이 쿠키를 찾습니다. GUID가 존재하고 데이터베이스에있는 누군가와 일치하는 항목이 있으면 자동 로그인합니다.
ASP.NET 멤버십을 사용하는 것이 좋습니다. 그것에는 "저를 기억하십시오"기능을 가진 로그인 컨트롤이 있습니다. 또한 web.config를 사용하여 페이지에 대한 액세스를 제한 할 수 있습니다.
이 주제에 기사의 좋은 시리즈 : http://www.4guysfromrolla.com/articles/062508-1.aspx
당신은 아마 당신의 응용 프로그램을 여기에
에 대한 권한 부여 메커니즘을 구현할 필요가있는 내장
는 가장 좋은 방법이다 쿠키를 사용하십시오.
회원 및 인증이 모든 웹 응용 프로그램의 모든 사이의 기본적인 욕구 중 하나는 .NET 프레임 워크가 제공하고 해당 기능이 튜토리얼에서 봐, ASP.NET 회원입니다 대부분의 개발자가 유용하다고 생각한 가장 큰 것 중 하나입니다. 원하는 경우 자신의 인증 및 인증을 구현할 수 있지만 사용하도록 권장합니다. Authentication and Authorization in ASP.NET
나는 세션에서이를 저장하지 않으므로 누군가가 세션을 조작하고 더 많은 권한을 얻기 위해이 변수를 변경할 수 있습니다. 사용자 DB에 권한 필드를 만들고 모든 페이지에 권한 필드를 만들 수 있습니다. 이렇게하면 모든 사용자에 대해 모든 페이지를 처리 할 수 있고 다양한 사용자 권한을 처리 할 수 있습니다. 당신은 사용자 그룹을 사용하는 것을 고려할 수 있습니다, 원칙은 동일합니다. 보안이 아직 부족하지만 내 견해가 조금 나아졌습니다. –
사용자는 세션 변수에 대한 액세스 권한이 있다고 가정합니다. 악의적 인 공격자가 할 수있는 일은 세션을 가리키는 쿠키를 변경하여 사용자 설정을 도용하는 것입니다. 그는 여전히 웹 페이지 디자이너가 제공하는 것 외에는 세션 변수에 액세스 할 수 없습니다. – dar7yl