2012-10-30 102 views
2

在我的項目中,我向所有註冊用戶發送預定郵件。到目前爲止,沒有任何限制,所以我只是從數據庫中獲得所有用戶,並且沒有任何安全檢查就發送了郵件。現在,我必須確保只有具有特定角色的用戶才能收到這些郵件。有沒有辦法檢查當前沒有登錄的用戶的角色?

到目前爲止,我發現的唯一方法是檢查當前登錄用戶的角色的幾種方法。但我需要檢查整個用戶列表的角色,目前尚未登錄。

我無法弄清楚如何訪問這些角色。我甚至不知道這是否可以用彈簧安全來完成。那麼,有沒有人知道這種問題?

感謝您的幫助!

回答

1

我認爲你不明白'角色'對用戶意味着什麼。通常該角色在應用程序的數據庫部分中實現。你可能有User表屬性(id, name, sname, ...., role)(第一種情況),或者你可以把它作爲一個單獨的表前「角色」與屬性(id, name, desc),然後在你的UserFK將鏈接到Roles表(第二種情況)。

所以,當你想發送電子郵件給所有那些role = admin那你就去做這樣的:

sql = "select * from users where role = 'admin'"; //First case 

sql = "select * from users , roles where users.role_id = roles.id and roles.desc = 'admin' "; //second case 

正如你已經猜到了這個實施,無關與彈簧或任何安全...

相關問題