2012-11-04 3 views
2

스프링 보안 문서에는 5 개의 테이블이 생성됩니다.스프링 보안 테이블

1.users 2.authorities (당국에지도 사용자) 3.groups 4.groups_authorities (당국에지도 그룹) 5.group_members (그룹지도 사용자)

왜 우리가해야합니까 사용자와 권한을 모두 그룹으로 매핑 하시겠습니까? 만약 우리가 사기업이나 사용자를 그룹에 매핑한다면, 우리는 다른 관계를 파생시킬 수 없을까요?

답변

1

이러한 접근 방식 덕분에 모든 사용자는 자신의 그룹에 속하지 않음으로써 부여 된 권한을 가질 수 있습니다. 예를 들어

:

  • user1plain_users
  • admins 그룹은 권한을 갖고, 그룹 adminsROLE_ADMIN
  • plain_users 그룹은 ROLE_USER
  • user1이 몇 가지 추가 권한이 권한을 가지고 ROLE_SUPER_USER

List<GrantedAuthority>이 성공적으로 인증되면 ROLE_ADMIN, ROLE_USER 및 그 추가 ROLE_SUPER_USER 기관이 포함됩니다.

+0

자세한 답변을 보내 주셔서 감사합니다. – lives

+0

세 그룹을 정의하여 동일한 목표를 달성 할 수 있습니다. ** 관리자는 ** ROLE_ADMIN ** 입니다. 2.plain_users는 ** ROLE_USER ** 3.super_users는 ** ROLE_SUPER_USER **입니다. _user1_은이 세 그룹 모두에 구성원으로 추가 될 수 있습니다. – lives

+0

네 말이 맞아. 따라서 Spring Security는 다양한 도메인 모델을 수용 할만큼 충분히 유연합니다. –