Ruby on Rails 인증을위한 최상의 솔루션 [닫기]


84

RoR 애플리케이션에서 사용할 수있는 사전 구축 된 솔루션을 찾고 있습니다. 이메일 유효성 검사, 등록 컨트롤을 제공하고 사용자가 암호를 재설정 할 수 있도록하는 ASP.NET Forms 인증과 유사한 것을 이상적으로 찾고 있습니다. 예, 현재 애플리케이션에 로그인되어있는 사용자를 쉽게 끌어 올 수 있습니다.

이미 쓰여진 부분을 살펴보기 시작했지만 정말 혼란 스러웠습니다. LoginGenerator, RestfulAuthentication, SaltedLoginGenerator를 살펴 보았지만 훌륭한 튜토리얼을 제공하거나 비교를 제공하는 곳은없는 것 같습니다. 아직 발견하지 못한 사이트가 있거나 대부분의 사람들이 사용하는 사실상의 표준이 있다면 도움의 손길을 주시면 감사하겠습니다.

답변:


83

AuthLogic은 블록의 새로운 아이로 보이며 restful_authentication의 차세대 진화, 사용하기 쉬운 등으로 보입니다.

http://github.com/binarylogic/authlogic/tree/master

편집 : 이제 Rails 3가 출시되었으므로 Devise는 블록의 새롭고 새로운 아이 인 것 같습니다.

https://github.com/plataformatec/devise 또는 has_secure_passwordRails http://railscasts.com/episodes/250-authentication-from-scratch-revised에 내장 된 자체 인증을 롤링했습니다.

참고 : Ruby Toolbox는 다양한 범주 (GitHub 감시자 수 기준)에서 현재 최상의 솔루션을 찾을 수있는 훌륭한 사이트입니다.

http://ruby-toolbox.com/categories/rails_authentication.html


나는 authlogic 사용을 정말로 고려할 것입니다. restful_auth보다 훨씬 깨끗합니다. Authlogic은 이전의 모든 솔루션에서 학습하여보다 깔끔하고 사용자 정의 가능한 솔루션으로 다시 패키징했습니다.
taelor

귀하의 조언을 듣고 Authlogic과 함께 갔고 정말 기쁩니다. 설정하는 데 시간이 조금 더 걸릴 수 있으며 매우 깨끗하고 이해하기 쉽습니다. 생성 된 코드의 무서운 더미가 없습니다.
Guy C

예, 설정하는 데 시간이 더 걸립니다. 나는 그가 거기에서 약간의 추상화를 제거하고 잊어 버린 암호와 이메일 확인과 같은 모든 사람들이 필요로하는 것들과 함께 제공되기를 바랍니다. 그러나 전반적으로 여전히 꽤 좋습니다.
Brian Armstrong

OpenID 및 RPXNow 와도 결합 할 수있었습니다. 예를 들면 다음과 같습니다. buyersvote.com/user_session/new
Brian Armstrong

예제 프로젝트를 사용하면 매우 쉽게 시작하고 실행할 수 있습니다. 저장소를 복제하고 database.yml 파일을 복사하면 완전히 인증 된 사이트가 준비됩니다.
Casey Watson

22

Restful Authentication을 정말 추천 합니다. 나는 그것이 사실상의 표준이라고 생각합니다.


1
나는 이것을 두 번째로 할 것이다. 나는 최근에 꽤 복잡한 다중 사이트 인증 시스템을 구현해야했습니다. RestfulAuth 디자인을 기반으로 RA와 동일한 API를 나머지 애플리케이션에 제공했습니다. 코드 읽기 :-)
Laurie Young

10

정말 간단한 솔루션을 원하시면 Clearance 로 가십시오 .

더 많은 옵션을 찾고 있다면 Devise 는 훌륭한 솔루션입니다. 랙 기반 인증 시스템 인 Warden을 사용합니다.


1
Devise를 보증 할 수 있습니다. 나는 그것을 내 앱에서 설정했고, 적어도 상대적인 초보자로서 사용하기 쉽다고 말할 수 있습니다. 여기에 내 경험에 대해 블로그를 게시
MattSlay

죄송합니다 ... 수정 된 링크는 다음과 같습니다. mattslay.com/devise-authentication-for-rails
MattSlay


3

참고로, LoginGenerator 및 SaltedLoginGenerator는 Restful Authentication으로 대체되었으며 최신 Rails 릴리스에서는 지원되지 않습니다. 당시에는 훌륭했지만 시간을 낭비하지 마십시오.


3

또한 좀 더 강력한 것을 찾고 있다면 Restful Authentication의 핵심 기능 확장에 대한 훌륭한 튜토리얼 / 토론 을 지적하고 싶습니다 .


1
내가 무례하다고 생각하지 마십시오. 포럼 항목이 Restful Authentication의 가장 나쁜 부분의 예라고 생각합니다. 누락 된 기능이 많이 있으며 여기에 이러한 기능을 한 번에 하나씩 추가하는 매우 긴 (모순적인) 단계가 있습니다. DRY의 반대가 무엇이든, 그게 다라고 확신합니다. 자신 만 반복하지 않고, 처음부터 RA에 포함되거나 선택적으로 포함되어야하는 항목을 포함하도록 수백 명의 다른 개발자를 반복합니다.
John Munsch

3

저는 thinkbot의 정리가 정말 마음에 듭니다. 매우 간단하고 몇 가지 좋은 후크가 있으며 테스트 할 수 있습니다.


3

AuthLogic 이 원하는 것 같습니다. 매우 구성 가능하며 코드를 생성하지는 않지만 사용하기가 매우 쉽습니다. 이메일 확인 및 비밀번호 복구를 위해 :perishable_token열 을 사용하는 것이 좋습니다 . AuthLogic이 처리하므로 사용할 때만 재설정하면됩니다. 기본 앱을 설정하는 방법에 대한 정보는 AuthLogic에 대한 Ryan Bates의 Railscast 및 "공식"예제 앱을 참조하십시오. AuthLogic의 제작자 인 Ben Johnson은 비밀번호를 RESTfully 재설정하는 방법에 대한 블로그 게시물도 작성했습니다.

불행히도 하나 이상의 링크를 게시 할 수는 없지만 railscast, 암호 재설정 블로그 게시물 및 예제 앱에 대한 링크는 모두 README에 있습니다 (README에 대한 AuthLogic repo 참조).

업데이트 : 이제 더 많은 링크를 게시 할 수 있으므로 더 많이 링크했습니다. 그동안 링크를 추가해 주셔서 감사합니다.



2

restful_authentication은 매우 유연하고 원하는 대부분을 즉시 제공하는 강력한 도구입니다. 그러나 몇 가지주의 사항 :

  1. '통제'측면에서 생각하지 마십시오. Rails에서 Model, View, Controller는 'Webforms-style'ASP.NET보다 훨씬 더 독립적입니다. 각 레이어에서 원하는 것을 독립적으로 해결하고 일치시킬 테스트 / 사양을 작성하고 각 레이어가 예상 한대로 작동하는지 확인합니다.
  2. 플러그인을 사용하는 경우에도 생성 된 코드를 읽는 것 (적어도 일부)을 대체 할 수 없습니다. 내부에서 무슨 일이 일어나고 있는지 큰 그림을 가지고 있다면 디버깅과 커스터마이징이 훨씬 더 쉽다는 것을 알게 될 것입니다.

2

restful_authentication 플러그인 및이를 확장하는 기타 플러그인은 귀하의 요구에 완벽하게 응답합니다. github.com에서 빠르게 검색하면 많은 자습서, 예제 및 확장 기능이 표시됩니다. 여기로 가십시오 : -http : //github.com/search
? q=restful_authentication

인증 부분만으로 베어 본 Rails 앱의 예를 제공하기 위해 restful_authentication을 사용하는 여러 프로젝트가 있습니다.

  1. http://github.com/fudgestudios/bort-RESTful 인증 기능을 갖춘 기본 레일 앱
  2. http://github.com/mrflip/restful_authentication_example-restful_authentication 사용 방법에 대한 훌륭한 예가있는 또 다른 프로젝트
  3. http://github.com/activefx/restful_authentication_tutorial- 위와 동일하며 다른 플러그인이 번들로 제공됩니다.
  4. http://railscasts.com/episodes/67-restful-authentication-restful_authentication을 설명하는 훌륭한 스크린 캐스트

이 정보는 당신이 머리와 꼬리를 찾기 시작하기에 충분할 것입니다. 행운을 빕니다.


2

이것을 업데이트하는 것 : Ryan Bates의 Railscast # 250 은 처음부터 인증 시스템을 구축하는 것을 보여줍니다 ....


2
맞춤형 인증 시스템의 RailsCast는 훌륭하지만 (그리고 유사한 시스템을 여러 번 구현했습니다) 결코 사전 구축되지 않으며 Devise와 같은 설정이 제공하는 모든 기능을 제공하지 않습니다.
Colin R

동의하지만 Devise는 상당히 부피가 클 수 있습니다. 제 생각에는 Devise가 제공하는 기능을 완전히 활용하지 않는 한 자체 인증 시스템을 구축하면 많은 시간과 고통을 줄일 수 있습니다.
Adam Jonas

2
RoR 애플리케이션에서 사용할 수있는 사전 구축 된 솔루션을 찾고 있습니다.
Colin R

0

클리어런스에 대한 또 다른 투표-아마도 사용자 정의가 가능하지 않거나 authlogic만큼 'in'이 아니지만, 그것을 제자리에 놓고 갈 수 있다는 측면에서 볼 가치가 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.