【问题标题】:Devise invitable: Disable view设计邀请:禁用视图
【发布时间】:2012-01-25 00:37:32
【问题描述】:

我添加了可邀请的设计,然后添加了我自己的完全独立的控制器,它使用类方法 User.invite 来处理所有事情!等等 --> 一切正常。

只是想知道禁用路由用户/邀请/新的最佳方法是什么

--> 如果有人查看应用程序并发现它是 rails,然后猜测它正在使用 devise,然后看到它有邀请,他们可能会尝试发布到用户/邀请控制器以在外部创建邀请我写的代码。肯定是边缘案例,但存在安全漏洞。

但我没有看到破坏那条路线的明智方法是什么?以为我可以在 routes.rb 中覆盖:

match '/users/invitation/new', :to => 'home#cp'

但这不起作用。我是否必须为邀请添加控制器,然后重新定义它(我试过了,但在此过程中我的应用程序在 heroku 上崩溃了) - 有没有简单的方法可以从我的应用程序中杀死该路由?

【问题讨论】:

    标签: ruby-on-rails devise


    【解决方案1】:

    Check the documentation,你会发现你可以自己修改和配置路由。我在我的项目中使用了 Devise,我们只做了一点修改。

    这是一个sn-p:

    devise_for :users, 
               :controllers => { :sessions => 'users/sessions', 
                                 :registrations => 'users/registrations' } do
        get 'sign_in' => 'users/sessions#new'
        get 'sign_up' => 'users/registrations#new'
        get 'signup_success' => 'users/registrations#signup_success'
        get 'users/profile' => 'users/registrations#profile', 
            :as => 'user_profile_settings'
    end
    

    Railscasts episode - part 2 正在设计中。

    【讨论】:

    • 谢谢,我有一个愚蠢的错字,在路由中声明了 devise_for :users 两次并且忘记了所以我玩 :controllers => { } 没有奏效。您为我指明了正确的方向,非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2016-11-18
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 2023-03-16
    相关资源
    最近更新 更多