Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Geleitwort des Fachgutachters
Einleitung
1 Einführung
2 Installation
3 Erste Schritte
4 Einführung in Ruby
5 Eine einfache Bookmarkverwaltung
6 Test-Driven Development
7 Rails-Projekte erstellen
8 Templatesystem mit ActionView
9 Steuerzentrale mit ActionController
10 Datenbankzugriff mit ActiveRecord
11 E-Mails verwalten mit ActionMailer
12 Nützliche Helfer mit ActiveSupport
13 Ajax on Rails
14 RESTful Rails und Webservices
15 Rails mit Plug-ins erweitern
16 Performancesteigerung
17 Sicherheit
18 Veröffentlichen einer Rails-Applikation auf einem Server
Ihre Meinung?

Spacer
 <<   zurück
Ruby on Rails 2 von Hussein Morsy, Tanja Otto
Das Entwickler-Handbuch
Buch: Ruby on Rails 2

Ruby on Rails 2
geb., mit DVD
699 S., 39,90 Euro
Rheinwerk Computing
ISBN 978-3-89842-779-1
Online bestellenPrint-Version Jetzt Buch bestellen
* versandkostenfrei in (D) und (A)
Pfeil 3 Erste Schritte
  Pfeil 3.1 Eine Rails-Applikation erstellen
  Pfeil 3.2 Der lokale Rails-Server
  Pfeil 3.3 Grundgerüst mit Scaffolds erstellen
  Pfeil 3.4 Die Applikation im Browser aufrufen
  Pfeil 3.5 HTTP-Authentifizierung


Rheinwerk Computing - Zum Seitenanfang

3.5 HTTP-Authentifizierung  topZur vorigen Überschrift

Implementierung

Rails stellt uns die Methode authenticate_or_request_with_http_basic zur Verfügung, mit deren Hilfe es ziemlich einfach ist, eine HTTP-Authentifizierung zu implementieren. Die Methode implementieren Sie im Controller und übergeben ihr einen Block, in dem Sie den Benutzernamen und das Passwort setzen:

class EmployeesController < ApplicationController
  before_filter :authenticate

  # GET /employees
  # GET /employees.xml
  def index
    @employees = Employee.find(:all)

    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @employees }
    end
  end

...

  # DELETE /employees/1
  # DELETE /employees/1.xml
  def destroy
    @employee = Employee.find(params[:id])
    @employee.destroy

    respond_to do |format|
      format.html { redirect_to(employees_url) }
      format.xml  { head :ok }
    end
  end

 private

   def authenticate
      authenticate_or_request_with_http_basic do |user,password|
        user=="admin" && password=="geheim"
      end
   end

end

Listing  app/controllers/employees_controller.rb

before_filter

Durch Aufruf der Methode before_filter :authenticate am Anfang des Controllers bewirken Sie, dass vor dem Ausführen jeder Methode des Controllers die Methode authenticate aufgerufen wird. Damit die Methode authenticate nicht von außen aufrufbar ist, haben wir sie als private definiert.

Test im Browser

Wenn Sie jetzt den lokalen Railsserver neu starten und die Applikation aufrufen, öffnet sich ein Authentifizierungsformular:

Abbildung  http://localhost:3000/employees

Nach erfolgreicher Authentifizierung durch Eingabe des Benutzernamens »admin« und des Passworts »geheim« können Sie alle Funktionen der Personalverwaltung nutzen.

:only, :except

Um nur für bestimmte Methoden eines Controllers eine HTTP-Authentifizierung einzusetzen, können Sie die Methode before_filter mit den Optionen :only oder :except aufrufen:

before_filter :authenticate,
	      :only => [:edit, :update, :destroy]

before_filter :authenticate, :except => [:index]

Jetzt ist unsere Personalverwaltung vor nicht autorisierten Zugriffen geschützt. Sie können natürlich noch die Views nach Ihrem Geschmack formatieren. Dabei können Sie vor allem die Bezeichnungen »Name«, »Firstname«, »Lastname« usw. ändern bzw. übersetzen. Rails hat hier automatisch die Feldnamen aus der Datenbank benutzt, das muss aber nicht so bleiben. Wichtig ist, dass das Model und die Felder der Datenbank in Englisch benannt werden, aber in welcher Sprache die Feldbezeichnungen später in den Views ausgegeben werden, spielt keine Rolle.

Im nächsten Beispiel in Kapitel 5 (Bookmarksverwaltung) werden wir Schritt für Schritt eine komplette Applikation erstellen, ohne den scaffold-Generator einzusetzen, damit Sie ganz genau nachvollziehen können, was im Einzelnen im Hintergrund einer Rails-Applikation passiert.



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

 <<   zurück
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Ruby on Rails 2
Ruby on Rails 2
Jetzt Buch bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: Ruby on Rails 3.1






 Ruby on Rails 3.1


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


Zum Rheinwerk-Shop: JavaScript






 JavaScript


Zum Rheinwerk-Shop: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern