ischroedi.de Technikfreak

die neuesten Notebooks, Kameras, Smartphones, Navigationsgeräte

Rails Authentifizierung mit acts_as_authenticated

-->

Ruby on Rails bietet mit dem Plugin acts_as_authenticated die Möglichkeit, schnell und effektiv ein Authentifizierungsplugin in seiner Rails Anwendung zu implementieren.

Das Plugin ist schnell und einfach installiert. Zunächst müssen Sie es sich von der acts_as_authenticated Projektseite downloaden.
Hierzu gibts unter Rails auch eine sehr elegante Lösung

Im Wurzel-(Root)verzeichnis ihrer Anwendung geben Sie einfach

script/plugin source http://svn.techno-weenie.net/projects/plugins/acts_as_authenticated

Das Plugin danach noch mit dem folgenden Befehl installieren.

script/plugin install acts_as_authenticated

Danach stehen anwendungsweit die Bibliotheken und die Generatoren für eine Authentifizierung zu Verfügung.
Synopse: script/generate authenticated [model] [controller]

script/generate authenticated user account

Die routes.rb sollte mit den angepassten Einträgen vervollständigt werden.

map.signup ‘/signup’, :controller => ‘users’, :action => ‘new’
map.login ‘/login’, :controller => ‘account’, :action => ‘new’
map.logout ‘/logout’, :controller => ‘account’, :action => ‘destroy’

Last but not least die Migration ausführen

rake db:migrate

Dieses Rake Task durchsucht die Dateien controllers/account_controller , models/user.rb and lib/authenticated_system.rb und erstellt hieraus die entsprechenden Migrations.

Wenn Sie nun noch im Application Controller (controllers/application.rb   ) die include Anweisung einbauen,

class ApplicationController < ActionController::Base
include AuthenticatedSystem
end

dann ist acts_as_authenticated bereit und steht acts_as_authenticated in diesem Projekt zur Verfügung.

Wenn Sie nun in den Controller das ganze authenticated System verwenden wollen, dann geht das am einfachsten mit einem before Filter in den Controller, in der es verwendet werden soll.

before_filter :login_required

Innerhalb der Controllers und den Views können sie nun auf die User Informationen zugreifen

current_user.login

Nun sollten sie über die URL: http://localhost:3000/account/signup einen User Account anlegen

Weitere Informationsquellen:

  • del.icio.us
  • MisterWong
  • Technorati
  • StumbleUpon
  • Digg
  • Reddit
  • YahooMyWeb
Categories: Allgemein
blog comments powered by Disqus