2017-02-19 1 views
0

내가 우리 조직의 여러 부서를 지원하며, 사용자가있는 AD 그룹에서 액세스 할 수있는 데이터를 정의 할 것입니다 응용 프로그램을 개발하고 대.대해 isUserInRole() 세션은 [] 닷넷 웹 응용 프로그램에

내 질문은 각 의사 결정 시점에서 IsUserInRole() 호출을 사용하거나 부울 (Boolean)이며 사용자 코드에서 변수를 사용하는 여러 개의 Session[] 변수를로드하는 것이 비용 효율적인 자원 현명한 방법 (대역폭, 시간 조각 등)입니까?

생각하십니까?

답변

0

나는 세션을 피할 것이다. 중앙 집중식 저장소 (데이터베이스 또는 Redis)가 필요하기 때문에 응용 프로그램 확장이 어려워지며 모든 요청이있을 때마다 적중됩니다. 실제 비즈니스 로직을 계속 진행하기 전에 요청이 완료 될 때까지 기다려야하므로 프로세스 속도가 느려집니다.

답변은 JWT 토큰을 사용하고 있습니다. 이들은 소량의 데이터 (제한된 역할, 수백 가지가 아닌)에 매우 적합합니다. JWT 토큰은 모든 브라우저 요청이 서버에 전달할 수 있도록 쿠키 안에 안전하게 넣을 수 있습니다.

여기에서 JWT 토큰에 대한 자세한 정보를 얻을 수 있습니다 : https://jwt.io/introduction/. 이 다른 StackOverflow 질문에는 JWT 토큰에 대한 많은 정보가 있습니다 : Using JWT to implement Authentication on Asp.net web API.

나는 그것이 당신의 문제를 해결하기를 바랍니다. 행운을 빕니다.

관련 문제