我想打一個數據庫用戶,它會用我的預定義功能(登錄(通過,登錄),get_users_you_are_in_charge_off(登錄,傳遞)等)。我可以在postgres中創建一個組/用戶角色,以便它只能執行預定義的功能嗎?
因爲這應該對任何人開放,我想創建一個數據庫用戶/組角色,只允許該用戶執行我的預定義功能。
的問題是,這些功能使用SELECT,UPDATE,INSERT。而當我只授予執行這些職能的權利時,他們會拋出錯誤,他們沒有權限去做。
任何想法? (也許我可以靜態地轉變職能中的作用?)
//回答一些評論 爲1號註釋:OK,我會看它和回覆,如果它可以幫助我。謝謝。好的,謝謝你的回答,這完全是我需要的。感謝用戶「plundra」!
第2條評論: 我已經有一個表或用戶(與他們的登錄)。但是如果我做一個函數checkLogin(name,pass),該函數需要從表中選擇用戶。如果我不給予用戶做SELECTS的權利,這是行不通的。如果我確實授予了這些權利,那麼用戶可以僅從用戶那裏進行SELECT *;並查看密碼是什麼。
好的,感謝您的回答,第一條評論完全是我所需要的。感謝用戶「plundra」!
簽出「安全定義」在http://www.postgresql.org/docs/current/static/sql-createfunction.html – plundra 2010-11-09 23:26:40
考慮分隔您的*域*中的用戶從PostgreSQL的用戶概念。 (例如創建一個'users'表,必須先使用所有的PostgreSQL會議將採用單一的PostgreSQL用戶連接您的應用程序做認證。) – 2010-11-10 02:26:24