2017-05-23 4 views
0

Ich habe eine Ressource für coffeeshops, wo ich den Benutzer sowohl favorite und bookmark einzelnen Cafés erlauben.grundlegende HTTP-Authentifizierung verhindert Benutzer Lesezeichen hinzufügen

Ich habe auch http_basic_authenticate_with auf dem Coffeeshop-Controller zu verhindern, dass jemand außer mir von meinem db schreiben.

Es scheint, dass meine aktuelle Setup dann nicht erlaubt Benutzern tatsächlich favorite oder bookmark, wenn sie sich anmelden.

Wie kann ich dieses Problem umgehen? Ich benutze auch Devise für die Benutzerverwaltung, kann ich den Vorteil nutzen, um den Schreibzugriff auf die Datenbank einzuschränken, so dass ich http_basic_authenticate_with entfernen kann?

coffeeshop_controller.rb

class CoffeeshopsController < ApplicationController 
http_basic_authenticate_with name: "*******, password: "*******", except: [:index, :show] 

Ich habe versucht, dies zu [:index, :show, :put] modernisiert werden, aber das einen Unterschied nicht gemacht hat.

+1

Wenn Sie ein Benutzerkonto System verfügen, z.B. Mit Devise benötigen Sie wahrscheinlich überhaupt keine http_basic_authentication. [Lesen Sie die README] (https://github.com/plataformatec/devise#controller-filters-and-helpers) und authentifizieren Sie sich mit einem 'before_filter '. –

+0

Ja, ich muss etwas Zeit beiseite legen und darüber nachdenken, Rollen zu gründen, denke ich. –

Antwort

0

in der except sollten Sie die Controller-Aktionen auflisten und nicht HTTP-Methoden, so etwas wie folgt aus:

class CoffeeshopsController < ApplicationController 
    http_basic_authenticate_with name: "*******", password: "*******", except: [:index, :favorite, :bookmark] 
    def index 
    # list of coffeeshops without authentication 
    end 

    def new 
    # requires authentication 
    end 

    def create 
    # requires authentication 
    end 

    def favorite 
    # endpoint to mark coffeeshop as favourite without authentication 
    end 

    def bookmark 
    # endpoint to bookmark a coffeeshop without authentication 
    end 
    ... 
end 
Verwandte Themen