2017-03-16 3 views
0

Snap을 사용하여 직원과 고객 모두를 인증해야하는 웹 응용 프로그램을 구축하고 있습니다. 지금까지 나는 snaplet-postgresql-simple에서 제공하는 auth 스냅 숏을 사용하여 데이터베이스의 동일한 테이블에있는 두 가지 유형의 사용자를 인증합니다. 나는 이러한 이유로 두 테이블에 사용자의 두 가지 유형을 분리 고려하고스냅 인증 : 스냅 샷을 여러 번 사용

s <- nestSnaplet "sess" sess $ initCookieSessionManager sessionKeyfile "sess" Nothing (Just sessionTimeout) 
db <- nestSnaplet "pg" pg Pg.pgsInit 
a <- nestSnaplet "auth" auth $ initPostgresAuth sess db 

:

초기화 코드는 그러므로 이런 식으로 뭔가를 보이는

  • 의 각 유형과 관련된 정보 사실 (예 : 열)은 실제로 다릅니다 (예 : 직원의 이름과 성을 알 필요가 없습니다)
  • 프론트 엔드에 로그인하지 않고 직원이 백엔드에 인증되도록 허용하고 싶습니다
  • 나는 사용자의 두 가지 유형이 별도의 테이블 내가 PostgreSQL을 단순에 대한 snaplets의 두 인스턴스를 사용하여 고려 중이 야

를에있는 경우 보안이 혜택을 누릴 수 있다고 생각 (내가 추측하고 별도의 쿠키를 필요 했어) 및 세션.

s1 <- nestSnaplet "sess1" sess1 $ initCookieSessionManager sessionKeyfile "sess1" Nothing (Just sessionTimeout) 
s2 <- nestSnaplet "sess2" sess2 $ initCookieSessionManager sessionKeyfile "sess2" Nothing (Just sessionTimeout) 
db <- nestSnaplet "pg" pg Pg.pgsInit 
a1 <- nestSnaplet "auth1" auth1 $ initPostgresAuth sess1 db 
a2 <- nestSnaplet "auth2" auth2 $ initPostgresAuth sess2 db 

수는 그런 snaplet의 여러 인스턴스를 사용할 수 있다는 것입니다

초기화 코드는 다음과 같이 보일 것인가? 내 문제가 더 나은 해결책이 있습니까?

답변

0

두 인스턴스를 사용하지 않습니다. 사용자가 두 가지 모두에 공통적 인 것을 나타내는 단일 인스턴스를 사용하고 사용자 유형 열을 추가하고 외래 키와 연결된 다른 테이블에 추가 정보를 넣습니다.

관련 문제