如何在rails中实现用户身份验证,但具有用户角色,以便某些路由可以由具有特定角色的用户访问,而不能被其他具有不同角色的用户访问?
我使用 Rails 作为 API 并使用 Vue JS 前端。所以我更喜欢一个带有普通导轨而不是外部封装(gem)的解决方案。
我尝试通过使用模型中的角色列并为其提供一个字符串值,稍后检查该字符串以提供权限来实现此目的。但我想知道是否有更好的方法(rails 方法)来做到这一点。
在您的用户中添加一些内容,例如权限。
在权限中设置一个值。它可以是布尔值或不同级别 (1,2,3)
在控制器中添加一个之前的操作,例如
Before_action :authenticate_user
def authenticate_user
redirect_to /home unless current_user.permission == true
end