Ruby on rails 使用身份验证管理编辑/销毁/新建链接的最佳方法是什么?

Ruby on rails 使用身份验证管理编辑/销毁/新建链接的最佳方法是什么?,ruby-on-rails,authentication,authorization,crud,Ruby On Rails,Authentication,Authorization,Crud,我是Rails新手,我正在尝试创建一个标准的CRUDRails应用程序来显示文本帖子。这与博客非常相似,我希望经过身份验证的用户能够编辑和销毁帖子,而网站的访问者只需查看和浏览现有帖子 我想知道什么是最好的管理方法。到目前为止,我已经使用了两个控制器,第一个有一个before_过滤器,这样每个路由都需要身份验证,并且相关的视图都有编辑/销毁/新建链接。第二个控制器没有身份验证过滤器,视图没有编辑或销毁帖子的链接 这个解决方案有效,但我认为它不是很干。我有一种感觉,如果坚持这种情况,随着我添加更多

我是Rails新手,我正在尝试创建一个标准的CRUDRails应用程序来显示文本帖子。这与博客非常相似,我希望经过身份验证的用户能够编辑和销毁帖子,而网站的访问者只需查看和浏览现有帖子

我想知道什么是最好的管理方法。到目前为止,我已经使用了两个控制器,第一个有一个before_过滤器,这样每个路由都需要身份验证,并且相关的视图都有编辑/销毁/新建链接。第二个控制器没有身份验证过滤器,视图没有编辑或销毁帖子的链接


这个解决方案有效,但我认为它不是很干。我有一种感觉,如果坚持这种情况,随着我添加更多功能,事情会变得越来越复杂。有没有更好的管理方法?我相信这一定是常见的问题。

Ryan谈到了这个问题(通过使用管理员控制器和常规用户控制器),以及一个更好的解决方案


另外,我希望您的第二个控制器(在\u filter之前没有授权的控制器)没有更新或销毁操作。即使您的视图中没有链接,一个不道德的人也可能创建一个会弄乱您数据的请求。

Ryan谈到了这个问题(通过使用管理员控制器和普通用户控制器),并在中提出了一个更好的解决方案


另外,我希望您的第二个控制器(在\u filter之前没有授权的控制器)没有更新或销毁操作。即使您的视图中没有链接,一个不道德的人也可能创建一个会破坏您的数据的请求。

您应该尝试锁定:

锁定是RubyOnRails(2.x版)的授权系统。它是 设计用于处理简单的公共vs 私有配置非常精细 细粒度访问控制。


您应该尝试锁定:

锁定是RubyOnRails(2.x版)的授权系统。它是 设计用于处理简单的公共vs 私有配置非常精细 细粒度访问控制。


我使用角色需求通过“管理员”和“用户”角色控制用户对给定控制器方法的访问。我使用一个手动的lib来确保给定的用户具有访问/操作特定数据的权限。因此,例如,如果您不“拥有”某个帖子(比如#3),但您试图将其ID放入/posts/destroy/3,您将被拒绝。

我使用角色需求通过“admin”和“user”角色控制用户对给定控制器方法的访问。我使用一个手动的lib来确保给定的用户具有访问/操作特定数据的权限。例如,如果你没有“拥有”某个帖子(比如#3),但你试图将其ID放入/posts/destroy/3,你就会被拒之门外。

谢谢你的链接,它确实帮助我理解了身份验证和授权之间的区别。迈克尔·巴顿:没问题……总是乐于助人。:)谢谢你的链接,它确实帮助我理解了身份验证和授权之间的区别。迈克尔·巴顿:没问题……总是乐于助人。:)谢谢我看了这个,然后找到了挂锁和acl9的链接。我想这些图书馆正是我想要的。谢谢。我看了这个,然后找到了挂锁和acl9的链接。我想这些图书馆正是我想要的。