使用url和to_param对rails进行身份验证

时间:2016-03-28 19:28:04

标签: ruby-on-rails ruby rest authentication

在我的rails应用程序中,我用自己的'token'覆盖id。 令牌是一个字符串值。

class MyModel < ActiveRecord::Base
    def to_param
        token
    end
end

此令牌适用于管理员,他称之为 http://localhost:3000/mymodels/token

现在我为公众访问者提供了另一个“公开”。 访问者应该只看到信息的一部分。节目方法。 如果您有令牌,您可以管理MyModel的数据。 http://localhost:3000/mymodels/pubtoken

问题 如何为页面访问者定义putoken的路由? 如果你有pubtoken,你可以“只”看到MyModel的一部分,并从关联的模型和控制器做一些其他操作。

我能做点什么吗?

def to_param
    token: action edit, destroy, new
    pubtoken: action show
end

1 个答案:

答案 0 :(得分:1)

答案的线索可能在于你所要求的。从根本上说,您希望改变不同用户查看数据的方式。为此改变模型可能不是正确的道路。

解决您问题的最常见方法是to use namespaces,指导管理员用户在发送“公众访问者”时支持CRUD的一组网址。到另一组支持仅查看路径的URL。