Tengo la idea de trabajar, pero veo a CanCan mencionado con frecuencia en los tutoriales junto con Devise; ¿Está destinado a ser complementario o CanCan es una alternativa a Devise?¿Se supone que debo usar CanCan con Devise?
Respuesta
CanCan cubre autorización - quién puede hacer qué. Diseñar identifica autenticación - ¿Eres realmente tú? Así es como se complementan entre sí. Puedes usar uno sin el otro.
Ver por ejemplo http://techoctave.com/c7/posts/34-authentication-vs-authorization.
El diseño maneja la autenticación (inicio y cierre de sesión, manejo de sesiones, etc.) pero no maneja la autorización (lo que permite el acceso a vistas o acciones).
Si tiene una aplicación no trivial, necesitará autorización y probablemente roles.
CanCan es una Gema de autorización muy simple, que puede funcionar muy bien si tiene muy pocos roles y reglas de autorización muy simples. http://railscasts.com/episodes/192-authorization-with-cancan
Si usted tiene un montón de papeles, o reglas de autorización más complejas, entonces recomendaría declarative_authorization http://railscasts.com/episodes/188-declarative-authorization
Ambos funcionan muy bien con Idear, rieles y, o bien 2 o 3. Rieles
Para implementar roles tiene dos opciones: tener una tabla de roles y una tabla de unión entre roles y usuarios en su base de datos; o utilizando el complemento role_model http://railscasts.com/episodes/189-embedded-association También tendrá la opción si un usuario puede tener solo un rol o muchos roles.
espero que esto ayude
- 1. cancan skip_authorization_check para autenticación Devise
- 2. ¿Cómo se supone que debo usar bundle install --standalone con la aplicación Rails?
- 3. ¿Cómo hacer pruebas de integración con RSpec y Devise/CanCan?
- 4. ANR errors - SCREEN OFF - ¿Cómo se supone que debo manejarlos?
- 5. ¿Cómo se supone que debo usar la herramienta de combinación TortoiseSVN (TortoiseMerge)?
- 6. ¿Cómo se supone que scala.util.parsing.ast.Binders se debe usar?
- 7. ¿Cómo crear el primer usuario (Administrador) (CanCan y Devise)?
- 8. ¿Cómo se supone que se usa RedirectToRoute?
- 9. ¿Se supone que los comentarios Pascal anidan?
- 10. WPF: ¿Se supone que soy un diseñador?
- 11. vistas de pruebas que utilizan CanCan y diseñar con RSpec
- 12. ¿Se supone que 'eval' es desagradable?
- 13. (Android MediaPlayer) ¿Cómo se supone que debo llamar a setAudioStreamType() si MediaPlayer.create() llama implícitamente a prepare()?
- 14. Diseñar/Cancan/Rolify juntos
- 15. Cómo usar Devise: rememberable?
- 16. ¿Se supone que debo llamar a EntityManager.clear() a menudo para evitar fugas de memoria?
- 17. ¿Qué ocurre si call_user_func se supone que devuelve false?
- 18. ¿Para qué se supone que se utiliza la anotación javax.inject.Named?
- 19. ¿Qué aplicación debo usar con netsh.exe?
- 20. Hibernate EntityManager, ¿se supone que debe usarse como singleton?
- 21. MVC, no "se supone" que usará HttpContext.Current nunca más?
- 22. Error de CanCan 'rol de método no definido?' Diseñar con
- 23. Jquery - Referencia por ID - ¿Se supone que devuelve una matriz?
- 24. Autorización de administración con CanCan
- 25. ¿Cómo se supone que scrollTop en JQuery funciona?
- 26. ¿Qué se supone que ocurre al usar un objeto después de FreeAndNil?
- 27. ¿Qué se supone que significa una "aplicación" de Django?
- 28. ¿Debo usar wtforms con Pilones?
- 29. ¿Debo usar EC2 con DynamoDB?
- 30. ¿Qué se supone que debe hacer esta sintaxis?
+1 sucinto y en el clavo. – jaydel