通过Devise in Rails保护动作

亚当12344

如果我有一个像下面这样的控制器,那么保护我的表演动作的最佳方法是什么?当前设置的方式是,任何用户都可以仅使用ID来查看其他用户的注释。

class NotesController < ApplicationController
    before_action :authenticate_user!

    def index
        @notes = Note.where(user_id: current_user)
    end

    def show
        @note = Note.find(params[:id])
    end

    def new
        @note = current_user.notes.build
    end

end

方法:1

def show
   @note = Note.find(params[:id])
   redirect_to anywhere_you_want, notice: "can't see others note" if @note.user != current_user 
end

方法:2

创建一个before_action像:

before_action :authenticate_note_user, only: [:show]
private
def authenticate_note_user
   @note = Note.find(params[:id])
   redirect_to anywhere_you_want, notice: "can't see others note" if @note.user != current_user
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby on Rails:通过Devise获得路线

来自分类Dev

通过devise在Ruby on Rails中创建用户帐户设置页面

来自分类Dev

如何通过Devise in Rails以编程方式登录用户

来自分类Dev

使用curl命令通过devise登录Rails API

来自分类Dev

Rails Devise:如何通过ID更新用户?

来自分类Dev

阻止Devise用户通过Rails中的URL访问/编辑表单

来自分类Dev

通过Ruby on Rails在devise用户上创建示例数据

来自分类Dev

使用Rails 4和Devise进行主动作业

来自分类Dev

通过javascript从元素列表调用rails动作

来自分类Dev

Rails4 + Devise:用户未通过身份验证时“隐藏”路由

来自分类Dev

Rails 4:通过devise,如何仅基于user_id验证用户身份

来自分类Dev

通过Heroku上的My Rails应用程序与Mandrill发送Devise确认邮件

来自分类Dev

如何在 Rails 中通过 Devise 仅显示用户自己编写的文章

来自分类Dev

通过在服务器上重新运行玩家的动作来保护多层浏览器游戏

来自分类Dev

通过在服务器上重新运行玩家的动作来保护多层浏览器游戏

来自分类Dev

Rails 3:has_many通过控制器动作

来自分类Dev

如何决定通过邮寄或在Rails上运行哪个动作

来自分类Dev

Rails 4 Devise嵌套表单无法批量分配受保护的属性

来自分类Dev

具有devise的Rails API,无法通过客户端的JSON调用运行POST #create方法

来自分类Dev

使用 devise_token_auth 时如何通过 Rails API 验证用户是否拥有请求的资源

来自分类Dev

SQL注入保护动作

来自分类Dev

Rails 4 + Devise + Heroku

来自分类Dev

Devise Rails API

来自分类Dev

生成Devise控制器-Rails Devise

来自分类Dev

带有after_sign_in_path_for(resource)的Rails 4 Devise始终重定向到Show Model的动作

来自分类Dev

Rails + Devise:当用户在通过确认电子邮件进行确认之前尝试登录时,没有错误提示出现吗?

来自分类Dev

Rails + Devise:当用户在通过确认电子邮件进行确认之前尝试登录时,没有错误提示出现吗?

来自分类Dev

如何通过link_to helper将参数从Rails中的视图传递到控制器动作

来自分类Dev

Rails 4 JavaScript / JQuery通过编辑控制器动作呈现多个局部

Related 相关文章

  1. 1

    Ruby on Rails:通过Devise获得路线

  2. 2

    通过devise在Ruby on Rails中创建用户帐户设置页面

  3. 3

    如何通过Devise in Rails以编程方式登录用户

  4. 4

    使用curl命令通过devise登录Rails API

  5. 5

    Rails Devise:如何通过ID更新用户?

  6. 6

    阻止Devise用户通过Rails中的URL访问/编辑表单

  7. 7

    通过Ruby on Rails在devise用户上创建示例数据

  8. 8

    使用Rails 4和Devise进行主动作业

  9. 9

    通过javascript从元素列表调用rails动作

  10. 10

    Rails4 + Devise:用户未通过身份验证时“隐藏”路由

  11. 11

    Rails 4:通过devise,如何仅基于user_id验证用户身份

  12. 12

    通过Heroku上的My Rails应用程序与Mandrill发送Devise确认邮件

  13. 13

    如何在 Rails 中通过 Devise 仅显示用户自己编写的文章

  14. 14

    通过在服务器上重新运行玩家的动作来保护多层浏览器游戏

  15. 15

    通过在服务器上重新运行玩家的动作来保护多层浏览器游戏

  16. 16

    Rails 3:has_many通过控制器动作

  17. 17

    如何决定通过邮寄或在Rails上运行哪个动作

  18. 18

    Rails 4 Devise嵌套表单无法批量分配受保护的属性

  19. 19

    具有devise的Rails API,无法通过客户端的JSON调用运行POST #create方法

  20. 20

    使用 devise_token_auth 时如何通过 Rails API 验证用户是否拥有请求的资源

  21. 21

    SQL注入保护动作

  22. 22

    Rails 4 + Devise + Heroku

  23. 23

    Devise Rails API

  24. 24

    生成Devise控制器-Rails Devise

  25. 25

    带有after_sign_in_path_for(resource)的Rails 4 Devise始终重定向到Show Model的动作

  26. 26

    Rails + Devise:当用户在通过确认电子邮件进行确认之前尝试登录时,没有错误提示出现吗?

  27. 27

    Rails + Devise:当用户在通过确认电子邮件进行确认之前尝试登录时,没有错误提示出现吗?

  28. 28

    如何通过link_to helper将参数从Rails中的视图传递到控制器动作

  29. 29

    Rails 4 JavaScript / JQuery通过编辑控制器动作呈现多个局部

热门标签

归档