What is your favourite authentication gem and why?

What is your favourite authentication gem and why?

Right now I have 4 to choose from (Cancan, Clearance, Rails Cast) and I don’t know which one to pick.

I cannot use Device because I’m a beginner at Rails.

CanCan is an Authorization solution, not an Authentication solution. Devise is Authentication only, and relies on CanCan or another Authorization framework to do that part of the job. Apples and Oranges, I'm afraid.

Walter

What’s the difference between an Authentication and Authorisation solution?

From what I understand, I can use a column in the users table called level, and have number 5 be an admin like if user.level == 5

Authentication is "are you who you say you are". It establishes a session with the browser, and uses a login to check credentials before allowing that session to see anything you've protected from public view. Authorization uses a method like you describe, which allows certain _authenticated_ people to do certain things. You can't have authorization without authentication -- they build on one another. But they solve different problems than one another.

Walter

If you are trying to learn Rails and creating your first app with authentication, I think it’s a good idea to build it from scratch so you have a better understanding about what is going on under the hood.

After you have mastered it and/or just want to build your app quickly with standard authentication features, use Devise to save some time.

Lei

If you are so much a beginner that Devise is too complex to understand then first you need to work right through a good tutorial such as railstutorial.org, which is free to use online.

Colin

I’ve decided to use the authentication system from the Ramaze ruby framework, as it’s the most simplest. I’ll let you know how it goes.

I’m currently using Rails Tutorial, but there’s a mistake in the book (which I emailed Michael to be corrected) so now I’m stuck and cannot go any further.

I'm currently using Rails Tutorial, but there's a mistake in the book (which I emailed Michael to be corrected) so now I'm stuck and cannot go any further.

Explain the problem here, probably someone will be able to help. Start a new thread though so it does not appear under this subject line.

Colin