2012-11-04 267 views
2

在彈簧安全文檔中,將創建五個表。彈簧安全表

1.users 2.authorities(地圖用戶當局) 3.groups 4.groups_authorities(圖組當局) 5.group_members(地圖用戶組)

爲什麼我們需要將用戶和權限映射到組?如果我們將authroities或用戶映射到組,我們不能推導出其他關係?

回答

1

感謝這種方法,每個用戶都可以擁有一些額外的權限 - 權限不在他/她的任何組中。

例如:

  • user1是羣體adminsplain_users
  • admins組有權ROLE_ADMIN
  • plain_users組有權ROLE_USER
  • user1有一些額外的權力ROLE_SUPER_USER

成功通過身份驗證後,他/她的List<GrantedAuthority>包含ROLE_ADMIN,ROLE_USER和...表示額外ROLE_SUPER_USER權限。

+0

感謝您的詳細回覆。 – lives

+0

通過定義三個組可以實現同樣的目標 1.admins與** ROLE_ADMIN ** 2.plain_users與** ROLE_USER ** 3.super_users與** ROLE_SUPER_USER **。 _user1_可以作爲成員添加到所有這三個組中。 – lives

+0

你說得對。因此,Spring Security足夠靈活,可以接受許多不同的領域模型。 –