2014-10-17 3 views
0

Я новичок в Ruby on Rails, и у меня есть проблема с настройкой typus с помощью devise.Typus с существующей моделью модели, получившей 401 несанкционированную ошибку

У меня есть приложение REST REST (построенное с использованием rails_api), и оно использует приложение для создания аутентификации. В настоящее время я работаю над новым Rails-приложением, которое должно быть административными страницами приложения REST с использованием typus. В конечном счете, моя цель состоит в том, чтобы это админ-приложение получило доступ к той же базе данных, что и приложение REST, которое было создано до использования существующей модели приложения REST. Однако я продолжаю получать сообщение 401 Unathorized, хотя пользователь существует в базе данных.

Чтобы быть точным, у меня есть модель, Account, в приложении REST, и я хочу использовать эту конкретную модель разработки в качестве модели для разработки в моем приложении для администратора. Я скопировал модель Account (наряду с другими моделями) из приложения REST на новый админ приложение, а затем, я последовал this настроить Typus использовать изобрести для проверки подлинности, но без создания новой Разрабатывают модели:

rails generate devise:install 
rails generate typus 

# config/initializers/typus.rb 
Typus.setup do |config| 
    config.authentication = :devise 
    config.user_class_name = "Account" 
end 

# edit the devise model: Account 
require 'typus/orm/active_record/instance_methods' 
class Account < ActiveRecord::Base 
    devise :database_authenticatable, :registerable, 
    :recoverable, :rememberable, :trackable, :validatable, 
    :omniauthable, :confirmable 

    include Typus::Orm::ActiveRecord::InstanceMethods 

    def locale 
    ::I18n.locale 
    end 

    def role 
    Typus.master_role 
    end 
end 

# routes.rb 
Rails.application.routes.draw do 
    devise_for :accounts 
end 

# initializers/devise.rb 
# make secret_key the same with REST app's secret_key 
config.secret_key = 'identic-secret-key-with-rest-app' 

Когда я запустите сервер и попытайтесь войти в систему с использованием существующего пользователя в базе данных (пользователь из приложения REST), он всегда говорит, что 401 неавторизован в консоли сервера. Есть ли что-то, что я пропустил в своей конфигурации? или даже мой подход выполним?

Он работал хорошо, если я создаю новую модель для приложения для администратора.

+0

http://stackoverflow.com/questions/14005500/always-getting-401-unauthorized-with-new-install-of-rails-devise Это может помочь вам –

+0

спасибо @NitinVerma, что решить мою проблему – npatmaja

ответ

0

Вы добавляете : Подтверждаете в вашей учетной записи, когда вы регистрируетесь, он отправит вам подтверждение по электронной почте, чтобы подтвердить свою электронную почту, если вы входите в систему без подтверждения, что это приведет к несанкционированной ошибке.

+0

Спасибо, это на самом деле проблема, после заполнения столбца 'confirm_at' проблема была решена. – npatmaja

+0

рад помочь вам –