0

サイトにデバイスをセットアップしましたが、クライアントは 1 つのマスター パスワードを使用できるようにし、他のユーザーがアカウントを作成できないようにしたいと考えています。ログイン ページからアカウントの作成リンクを削除し、RegistrationsController を次のように拡張しました。

class CustomRegistrationsController < Devise::RegistrationsController


    # used to override normal create behavior
    def create
            redirect_to user_session_path
    end

    # used to override normal new behavior. Redirects user back to the login page
    def new
            redirect_to user_session_path
    end
end

次に、ルートファイルに

devise_for :users, :path => '', :path_names => { :sign_in => 'login', :sign_out => 'logout'}, :controllers => { :registrations => "custom_registrations"}

現在、マスターのユーザー名とパスワードをハードコードするか、これに対するより良いアプローチを考え出す方法を見つけようとしています。

4

1 に答える 1

0

これは決して洗練されたソリューションではありませんが、移行(または、データベースがまだその方法で生成できるほど新しい場合はデータベースシードファイル)を使用して、目的のログイン情報を持つ単一のユーザーオブジェクトを作成し、追加することができます。既存のユーザーがすでに存在する場合にfalseを返すユーザーの検証。

于 2013-01-17T16:56:41.237 に答える