postgresql 9.2 データベース バックエンドを使用して C++ アプリケーションを作成しています。会計ソフトです。権限分離機能を備えたマルチユーザーアプリです。
ユーザー アカウント システムの実装についてサポートが必要です。ユーザーの特権は、相互に排他的である必要はありません。アプリケーション レベルで実装する必要がありますか、それともデータベース レベルで実装する必要がありますか?
現在、会社はそれほど大きくありません。約 15 ~ 20 のオフィスがあり、オフィスごとに平均 10 人のプログラム ユーザーがいると想定します。
- これを実装するために postgres のロールを利用できますか? それはあまりにも退屈で管理不能になるのでしょうか、それともそのようなアプローチにはいくつかの欠陥がありますか?
- アプリケーション ルートを経由する場合、ユーザーが持つ一連の特権をどのように保存しますか? バイナリ文字列で十分ですか? 後で追加の権限がある場合、どのように組み込むことができますか? セキュリティ上の問題がないことを確認するにはどうすればよいですか? そして、そのようなアプローチでは、アプリケーションが最も特権のあるユーザーに必要な特権に接続すると想定しています。
- 2つの方法のいくつかの組み合わせ?それともまったく違うもの?
すべての提案と議論は大歓迎です。