2

私のプロジェクトでは、すべての登録ユーザーにスケジュールされたメールを送信します。これまでは制限がなかったので、データベースからすべてのユーザーを取得し、セキュリティチェックなしでメールを送信しました。ここで、特定の役割を持つユーザーのみがこれらのメールを受信することを確認する必要があります。

これまでに見つけたのは、現在ログインしているユーザーの役割を確認するいくつかの方法だけです。ただし、現在ログインしていないユーザーのリスト全体の役割を確認する必要があります。

これらの役割にアクセスする方法がわかりません。これが春のセキュリティでできるかどうかさえ私にはわかりません。それで、誰かがこの種の問題について知っていますか?

ご協力いただきありがとうございます!

4

1 に答える 1

1

「役割」がユーザーにとって何を意味するのか理解していなかったと思います。通常、ロールはアプリケーションのデータベース部分に実装されます。User属性を持つテーブル(id, name, sname, ...., role)(1番目のケース)を持っている場合もあれば、属性を持つ「Roles」のような別のテーブルとして持っている場合もあり、テーブルにリンクするテーブルを持っ(id, name, desc)ている場合があります(2番目のケース)。FKUserRoles

したがって、一緒にいるすべての人に電子メールを送信したい場合は、次の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

これの実装を推測したように、春やその他のセキュリティとは何の関係もありません...

于 2012-10-30T10:50:40.680 に答える