我使用Postgresql作为我的数据库,使用rails 3作为我的中间件,用于多租户应用程序。
我想为通过establish_connection方法创建的每个连接设置一个包含当前登录客户端ID的环境变量。
无论如何,我可以通过任何一个setup_connection回调来拦截初始化过程来设置这个环境变量吗?
答案 0 :(得分:1)
我倾向于通过类似权限级别的字段来分离应用程序级别的数据。然后,您可以将“verify_permission(current_user)”方法作为before_filter运行。
我们通常会执行此操作并使用“kick_user_out”方法自动强制使用非敏感参数注销和通过电子邮件发送管理警报,以便在发生权限升级时向管理员发出警报。你得到足够的,帐户也会被锁定。