2016-08-20 93 views
0

目前我正在開發一個應用程序,用於根據外部LDAP系統對用戶進行身份驗證。應用程序特定數據保存在關係數據庫中。如何維護LDAP系統和關係數據庫的完整性?

我的問題是,如果有一個設計模式或類似最佳實踐,以保持我的關於用戶輸入數據庫的引用完整性?

我的一個想法是要抓住從LDAP系統(一旦該用戶的第一次登錄時)的用戶的一個唯一標識符和與在我的數據庫表中的一個生成的主密鑰一起存儲此。如果我這樣做,我可以在其他表中引用主鍵。這是一個好方法嗎?有沒有更好的選擇?

我正在使用Active Directory,java後端和postgres數據庫。

回答

0

你所描述的基本上是我採取的是存儲在一個單獨的數據庫用戶的登錄信息(或任何真正的LDAP相關的信息)的應用方法。

基本上當他們登錄解碼他們的objectGuid屬性值以獲取他們的UUID並使用該UUID字符串在數據庫中執行其餘的查找時。這對用戶帳戶重命名有很大幫助,因爲您只需查找UUID,並且如果它匹配,則重新同步用戶的數據(如果其他任何數據保存在數據庫中)。