我需要在Ruby on Rails应用程序中实现细粒度的访问控制。单个用户的权限保存在数据库表中,我认为最好让相应的资源(即模型的实例)决定是否允许某个用户对其进行读写操作。每次在控制器中做这个决定肯定不会很枯燥。
问题是,为了做到这一点,模型需要访问当前用户,以调用类似于may_read?(current_user, attribute_name)
的东西。不过,模型通常不能访问会话数据。
在当前线程中保存对当前用户的引用有很多建议,例如在this blog post中。这肯定会解决这个问题。
相邻的Google results建议我在user类中保存对当前用户的引用,我猜这是某个应用程序不必同时容纳大量用户的人想出来的。;)
长话短说,我有一种感觉,我希望从模型中访问当前用户(即会话数据)的愿望来自我的doing it wrong。
你能告诉我我哪里错了吗?
https://stackoverflow.com/questions/1568218
复制相似问题