2012-12-12 88 views
0

我是新来的rails,我想制作一个培训计划应用程序。我需要一个用户管理系统,并且确定存在一个宝石,但我似乎无法找到具有所有这些所需功能的系统。用于自定义验证的Rails gem

  • 多访问级别(用户,教练,经理,管理员)
  • 没有用户注册(教练,经理,管理员将创建帐户和信息将通过电子邮件发送给用户)
  • 用户组(用户,培训师,经理)属于团体,只能管理这些团体中的用户。管理员可以管理任何组中的任何人。
  • 用户可以更改其帐户的详细信息并更改其密码。
  • 管理员可以确定用户将如何登录(自定义字段,用户名,电子邮件)
  • 可以使用MySQL数据库

是否有电流宝石,所有这些功能都在那里或将一个自定义的需要被创建?

回答

1

你在这里结合两个概念,用户认证基于角色的访问控制。考虑使用devise进行身份验证,因为它可以很好地配置(例如,您可以禁用sign_up路由并仅允许sign_in),而对于rbac,则可以使用cancan

另外,你真的需要允许管理员确定用户如何登录?首先考虑一种方法,稍后如果它是真正的优先级,则添加此功能。

+0

我宁愿允许通过自定义字段(如6位数字的ID号码)登录。我认为角色和登录将会在一起。不过,它们似乎有意义,它们会是不同的插件。这些插件是否支持MySQL? – Bot

+0

您可以根据任何字段进行身份验证,但您可能必须编写自定义控制器来处理该问题(不用担心,虽然这是由设计宝石支持的,并且它甚至会为您搭建控制器)。只要ActiveRecord支持数据库(是的,mysql就是其中之一),那么它就可以处理任何值得重视的rails gem。几个宝石也支持nosql商店。 –

+0

允许具有培训师和经理的用户组只能管理这些组中的人员,而管理员可以管理任何人吗? – Bot