认证和;针对不同用户的角色管理,如何解决?

时间:2013-08-08 14:50:38

标签: ruby-on-rails devise ruby-on-rails-3.2 cancan roles

你能帮我解决这个问题吗?

我正在为不同的用户创建一个管理应用程序:

“用户”他们在应用程序中被定义,这是管理人员,不会改变,并且 “学生”他们被定义在一个将在未来6个月内增长的表中(现在我可能有10名学生在这个表中,下个月可能有100名) 用户和学生之间的归因是不同的

我应该创建一个带有后端和前端的应用程序

前端可供用户和学生使用 如果后端只有“admin”标志

,则只能由用户使用

我会将ActiveAdmin用于后端 但是对于前端我迷失了......

似乎cancan和devise可以解决这个问题,但是:

  • 我应该创建用户模型和学生模型,还是有更好的方法?
  • 如何管理来自两个不同表(用户和学生)的相同前端视图(也许我应该创建两个不同的视图)的连接?
  • 学生应该自动收到“student_role”,怎么做?

非常感谢所有想法,非常感谢您阅读我!

尼古拉斯

1 个答案:

答案 0 :(得分:0)

可以+设计是解决像这样的问题的好方法,

我还建议用户只有一个模型和一个usertype属性来定义它是学生还是用户,如果只需要向特定用户显示,就可以创建用户控制器和学生控制器的连接你可以使用cancan来这样授权:

class Ability
  include CanCan::Ability
  def initialize(user)
    if user.usertype=1
      can :read, Student
    elsif user.usertype=2
      can read, User
    end    
  end
end 

你的学生角色可以是usertype = 1或者什么

如果你需要更多帮助,请问我。