I used restful_authentication gem, authLogic and Devise , and I like developing because it is model-based (higher stack is better and easier rspec) and also allows you to simply add the admin flag to the user table for administrators and go with it (or use roles for more complicated things).
Another gem that has become common with design cancan for roles , for example. administrator, reader, manager, etc. (no matter what you want) with the syntax as shown below (from cancan gem ).
<% if can? :update, @article %>
<%= link_to "Edit", edit_article_path(@article) %>
<% end %>