因此,我已经建立了9个单元,并投入运作。
地区(有)地点(有销售)。 销售是重要的,基本上只是每个地点显示的员额。
我也有用户,这些用户可以按照角色加以限制和允许。
我们需要做的是创建公司,并为某个公司创建用户,只能允许该公司内的区域和地点进入。 然后,我需要用户,即每个公司能够创造,只能进入它们可以进入的地点。
我的问题是,我不敢肯定,如何积极将创造的用户限制在某个部门。 这就是说,行政的接口。 我可以想象几种办法,但希望就最佳办法提出建议。
因此,我已经建立了9个单元,并投入运作。
地区(有)地点(有销售)。 销售是重要的,基本上只是每个地点显示的员额。
我也有用户,这些用户可以按照角色加以限制和允许。
我们需要做的是创建公司,并为某个公司创建用户,只能允许该公司内的区域和地点进入。 然后,我需要用户,即每个公司能够创造,只能进入它们可以进入的地点。
我的问题是,我不敢肯定,如何积极将创造的用户限制在某个部门。 这就是说,行政的接口。 我可以想象几种办法,但希望就最佳办法提出建议。
你们可以凌驾于用户的“旧吗?”方法之上。
class User < ActiveRecord::Base
def has_role?(role_name, obj=nil)
# Your code
end
end
If the object type is "Region" or "Location", you check the user s company and allow the access if the region is appropriate. Otherwise, you call "super". And let ACL9 retrieve it s default value.
它给了你这样的东西:
class User < ActiveRecord::Base
def has_role?(role_name, obj=nil)
super unless obj.class == Region or obj.class == Location
return company.region == obj if obj.class == Region
return company.location == obj if obj.class == Location
end
end
该建议只是一个执行建议。 其中几乎是数量有限的。 我从未说过这是最好的。