我有一个使用javascript的rails应用程序。现在当应用程序中的用户登录时,我可以看到所有的用户细节(电子邮件,-电话等)。在浏览器开发工具的“网络->预览”部分中。有办法把它藏在铁轨里吗?因此,当我打开浏览器开发工具时,我看不到用户的详细信息。我在前端使用了。
发布于 2018-11-22 13:53:27
据我所知,这是一个授权问题。您可能希望为用户设置不同的角色,并根据这些角色决定显示什么。
您可以使用策略来定义允许每个用户访问哪些内容。为此,您可以使用专家宝石。定义控制器动作的授权机制是非常有用的。
如果不同的用户可以访问相同的路由,但需要为其中一些用户隐藏一些字段/详细信息,则应该将current_user传递给序列化。例如,如果使用的是主动模型序列化器gem,则需要将current_user添加到序列化程序的范围:
class ApplicationController < ActionController::Base
serialization_scope :current_user
end
然后使用该范围显示用户详细信息:
class UserSerializer < BaseSerializer
attribute :name # Everyone can see
attribute :email do # Only admins can see
user = scope
if user
if user.admin?
object.email
end
end
end
end
这篇文章对rails应用程序的授权进行了更深入的讨论。
https://stackoverflow.com/questions/53430085
复制相似问题