[英]User details being displayed in the browser dev tools
我有一个正在使用JavaScript的Rails应用程序。 现在,当用户登录到应用程序中时,我可以在浏览器开发工具的“网络”->“预览”部分中看到所有用户详细信息(电子邮件,密码,电话等)。 有没有办法将其隐藏在铁轨中? 因此,当我打开浏览器开发工具时,我看不到用户详细信息。 我在前端使用React js。
据我了解,这是一个授权问题。 您可能希望为用户使用不同的角色,并根据这些角色决定要显示的内容。
您可以使用策略来定义允许每个用户访问哪些内容。 为此,您可以使用pundit gem 。 定义控制器动作的授权机制非常有用。
如果不同的用户可以访问相同的路由,但是您需要隐藏其中的某些字段/详细信息,则应将current_user传递给序列化。 例如,如果您使用的是Active Model Serializers 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应用中的授权进行了更深入的讨论
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.