0

我正在尝试使用设计构建一个应用程序,其中将有多个角色。

这样有用户/管理员。如果我正确理解了文档设计的工作方式,并且您为一个角色构建了一个名为 user 的新模型/控制器,并为管理员构建了一个新模型/控制器。他相当简单,但我遇到的问题是

route.rb 我有以下

  devise_for :admins
  devise_for :customers
  resources :events
  root :to => 'events#index'

但是,在控制器中,我将其放置

  before_filter :authenticate_customer!

我也尝试关注

  before_filter :authenticate_customer! || :authenticate_admin!

但是,如果我登录有管理员,这两种技术仍然会将我重定向到登录页面。我应该怎么做才能说话,除非我创建了两个不同的网站,然后结果证明它是无用的。

这里还有几个问题。当我进入编辑时,它要求我输入 current_password,我怎样才能删除这个功能?

我还有办法停止会员或注册(又名管理员)

先谢谢了。

4

1 回答 1

1

我现在正在制作一个具有多个角色(管理员、学生、教师等)的应用程序。您需要意识到 Devise 是一种身份验证解决方案,它验证用户是真实的。对于基于角色的权限,您需要一个授权解决方案,该解决方案授权用户执行某些操作。Devise 支持管理员角色,但除此之外,您还需要一个授权解决方案。

康康舞是我建议的宝石。我在为我的应用程序设置它时使用了本教程。您可能会觉得本教程的第 2 部分很有趣。设置起来也不是太难(大约 8 个月前我自己也在学习 Rails)。

于 2012-08-14T17:59:58.297 回答