2012-12-12 6 views
0

저는 레일을 처음 사용하고 있으며 교육 스케줄링 앱을 만들고 싶습니다. 나는 사용자 관리 시스템이 필요하고 보석으로 존재한다는 것을 확신하지만 나는 필요한 모든 기능을 갖춘 사람을 찾을 수 없다.레일 맞춤형 인증을위한 보석

  • 다중 액세스 수준 (사용자, 트레이너, 매니저, 관리자)
  • 없음 사용자 가입 (트레이너, 매니저, 관리자 계정을 생성하고 정보를 사용자에게 이메일로 전송됩니다)
  • 사용자 그룹 (사용자, 트레이너, 관리자)는 그룹에 속하며 해당 그룹의 사용자 만 관리 할 수 ​​있습니다. 관리자는 모든 그룹의 모든 사용자를 관리 할 수 ​​있습니다.
  • 사용자는 계정의 세부 정보를 변경하고 비밀번호를 변경할 수 있습니다.
  • 관리자는이 모든 기능을 거기서 현재의 모든 보석을인가 사용자가
  • 는 MySQL 데이터베이스

를 사용할 수 (사용자 정의 필드, 사용자 이름, 이메일)를 로그인 할 방법을 결정할 수 있습니다 또는 사용자 정의 하나 개의 필요성은 것이다 만들어 지겠니?

답변

1

여기서 두 가지 개념을 결합합니다. 사용자 인증역할 기반 액세스 제어. 꽤 구성 할 수 있기 때문에 인증을 위해 devise을 사용해보십시오 (예 : sign_up 경로를 사용 중지하고 sign_in 만 허용 할 수 있음). rbac에 대해서는 cancan과 같은 값을 사용하십시오.

또한 관리자가 사용자 로그인 방법을 결정하도록 정말로 허용해야합니까? 먼저 한 가지 방법으로 시작하고 나중에이 기능을 추가하는 것이 중요합니다.

+0

6 자리 ID 번호와 같은 사용자 정의 필드로 로그인하는 것을 선호합니다. 나는 역할과 로그인이 함께있을 것이라고 생각했다. 그러나 그들은 서로 다른 플러그인이 될 것입니다. 이 플러그인은 MySQL을 지원합니까? – Bot

+0

모든 필드를 기반으로 인증 할 수 있습니다.하지만이를 처리 할 사용자 정의 컨트롤러를 작성해야 할 수도 있습니다.하지만 걱정하지 않아도됩니다. 즉, devise gem이 지원하며 컨트롤러를 발판으로 사용하기도합니다. 데이터베이스가 ActiveRecord에 의해 지원되는 한 (예, mysql은 그 중 하나임) 그 무게만큼의 레일 젬을 사용할 수 있습니다. 몇몇 보석 또한 nosql 상점을 지원합니다. –

+0

관리자가 트레이너와 관리자가있는 사용자 그룹은 관리자 만 다른 사람을 관리 할 수 ​​있지만 해당 그룹의 사용자 만 관리 할 수 ​​있습니까? – Bot