0

当您在 Rails 中创建站点时,它会自动创建一些页面,允许您将内容添加到您的站点。您通常通过在浏览器中键入 domain.com/something/new 来访问它们。

假设您要将网站上传到互联网。如何阻止用户访问这些页面?删除它们似乎不是一个好方法,因为那样您如何向站点添加内容?你用密码保护他们吗?有没有更好的办法?

4

2 回答 2

2

您可以使用devise对用户进行身份验证,并在控制器中调用 authenticate_user 以确保只有经过身份验证的用户才能访问该页面。您还可以查看cancan,它可以为您提供更多控制,例如设置读取、写入权限。

于 2012-10-07T10:13:28.163 回答
0

可能有一百种方法可以做到这一点。这取决于你需要什么以及你想要什么。如果您不希望人们在您的网站上发布内容并且您不需要自己这样做,为什么不直接删除路由到/yourmodel/newfrom/app/controllers/yourmodel_controller.rb/app/views/yourmodel/new.html.erb条目 from /config/routes.rb

此外,您可以使用一些 gem 进行身份验证。有几种。看看清关。它可以让您使某些页面仅供注册用户访问。如果您想对普通用户隐藏一些页面,以便只有管理员可以访问它们,请查看aegis

于 2012-10-07T14:00:29.003 回答