2016-09-17 4 views
-1

내 웹 사이트, 관리자, 직원 및 일반 사용자의 세 가지 수준의 사용자가 있습니다. 그들 각각은 내 데이터베이스의 다른 테이블에 있습니다.asp.net에서 여러 수준의 세션을 확인하는 방법 C#

로그인 도구를 사용하여 로그인 양식을 만들었습니다. 그럼 연결과 세션을 만들었습니다. 그들은 잘 작동합니다.

지금 내 질문은 모든 페이지 (관리자, 직원 또는 사용자 인 경우)에서 세션을 확인하는 가장 좋은 방법입니다. 예가 있으면 더 유용 할 것입니다.

감사합니다.

+1

무엇을 시도 했습니까? 대다수의 문제에 대한 최상의 해결책은 하나도 없다는 점에 유의하십시오. –

+0

예를 들어 해결 방법 중 하나는 3 개의 세션을 관리자에 대해 하나는 직원 용으로, 다른 하나는 사용자 용으로 설정하는 것입니다. 세션이 관리자가 아닌 경우 각 페이지에 글을 쓰거나 로그인 페이지로 리디렉션하십시오. 하지만 지금은이 방법이 효율적이지 않아 도움이 필요합니다. – AL3MS

+0

단위/통합 테스트를 제안합니다. 블랙 박스 테스트를 계속하고 싶지 않다면 개발자 도구를 사용하고 쿠키 세부 정보를 확인하십시오. (결국 세션은 쿠키입니다) –

답변

1

상당히 전통적이면서도 간단하면 this tried and true method을 사용할 수 있습니다.

기본적으로 인증 티켓의 UserData 속성을 사용하면 현재 사용자의 역할을 저장할 수 있습니다. 그런 다음 현재 스레드의 principal에서 언제든지 데이터를 가져올 수 있습니다.

관련 문제