如何在应用程序中使用rails环境变量?管理员用户:Rails环境变量
我想用它们来限制访问页面上的某些元素。例如。用户看不到管理员所做的信息;但页面的其余部分是相同的。是否有这种用户权限实现的最佳做法?
如何在应用程序中使用rails环境变量?管理员用户:Rails环境变量
我想用它们来限制访问页面上的某些元素。例如。用户看不到管理员所做的信息;但页面的其余部分是相同的。是否有这种用户权限实现的最佳做法?
我不明白你为什么要使用它的环境变量。 如果您想限制对页面上某些元素(或/和操作)的访问权限,如果授权规则复杂,则可以使用cancancan(https://github.com/CanCanCommunity/cancancan)或权重(https://github.com/elabs/pundit)等宝石。 但如果你的规则很简单,你可以做水木清华这样的:
if current_user.admin?
... admin stuff...
end
视图
。
您可以使用一个环境变量是这样的:
<%= ENV["Your_Username"] %>
这是什么会在你的database.yml一个例子。但是,就像上面的用户所说的那样,将逻辑放在视图中而不是使用环境变量会更好。
我确实希望将逻辑放在视图中,但我仅限于使用环境变量或不太安全的HttpHeaders – newtojs
我的用户信息通过Shibboleth(单一登录)来传递,并通过环境变量传递给我的应用程序。我需要检查那些限制访问 – newtojs
我认为你应该搜索/询问shibboleth特定的解决方案。你使用omniauth-shibboleth宝石还是那样的。 – lightalloy
我有从Shibboleth设置进来的环境变量,所以我不认为这会有所帮助。我想弄清楚我是否可以使用环境变量来影响RoR中的视图 – newtojs