[RUBY-ON-RAILS] 어디 유증 구현 "authenticate_user가!" 방법?
RUBY-ON-RAILS어디 유증 구현 "authenticate_user가!" 방법?
어디 authenticate_user의 유증 구현입니다! 방법?
나는 그것을 찾고있는 지금까지 그것을 발견하지 않았습니다.
해결법
-
==============================
1.그것은 lib 디렉토리 / 궁리 / 컨트롤러 / helpers.rb1에이고 (사용자 만 가능 접미사 중 하나 인) 동적으로 생성한다 :
그것은 lib 디렉토리 / 궁리 / 컨트롤러 / helpers.rb1에이고 (사용자 만 가능 접미사 중 하나 인) 동적으로 생성한다 :
def self.define_helpers(mapping) #:nodoc: mapping = mapping.name class_eval <<-METHODS, __FILE__, __LINE__ + 1 def authenticate_#{mapping}!(opts={}) opts[:scope] = :#{mapping} warden.authenticate!(opts) if !devise_controller? || opts.delete(:force) end def #{mapping}_signed_in? !!current_#{mapping} end def current_#{mapping} @current_#{mapping} ||= warden.authenticate(:scope => :#{mapping}) end def #{mapping}_session current_#{mapping} && warden.session(:#{mapping}) end METHODS ActiveSupport.on_load(:action_controller) do helper_method "current_#{mapping}", "#{mapping}_signed_in?", "#{mapping}_session" end end
-
==============================
2.당신이 레일에 유증을 추가 할 때, 당신은 일반적으로 설정 / routes.rb 추가 할 것입니다 :
당신이 레일에 유증을 추가 할 때, 당신은 일반적으로 설정 / routes.rb 추가 할 것입니다 :
devise_for :user
이것은 고안 매퍼 클래스에 정의되어 있습니다.
모든 자원이 devise_for로 전달에 대한 Devise.add_mapping 호출하는
유증 모듈의 add_mapping 방법은 이후에 다른 답변에서 논의로 인증을 정의하는 define_helpers를 호출하는, 정의된다.
-
==============================
3.그것은 여기에 몇 가지 메타 프로그래밍을 사용하여 선언 있어요 - https://github.com/plataformatec/devise/blob/master/lib/devise/controllers/helpers.rb#L46-49
그것은 여기에 몇 가지 메타 프로그래밍을 사용하여 선언 있어요 - https://github.com/plataformatec/devise/blob/master/lib/devise/controllers/helpers.rb#L46-49
class_eval <<-METHODS, __FILE__, __LINE__ + 1 def authenticate_#{mapping}!(opts={}) opts[:scope] = :#{mapping} warden.authenticate!(opts) if !devise_controller? || opts.delete(:force) end ... end
from https://stackoverflow.com/questions/9272272/where-is-devise-implementation-of-authenticate-user-method by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 어떻게 루비와 PDF 기존에 편집 또는 쓰기에? (0) | 2020.03.03 |
---|---|
[RUBY-ON-RAILS] GIT에서 레일 dB / schema.rb 파일을 처리 할 수있는 권리 방법은 무엇입니까? (0) | 2020.03.03 |
[RUBY-ON-RAILS] 루비 레일에 - 같은 파일을로드 할 수 없습니다 - mysql2 / 2.2 / mysql2 (LoadError를) (0) | 2020.03.03 |
[RUBY-ON-RAILS] 레일에 PostgreSQL을에 준비된 성명 (0) | 2020.03.03 |
[RUBY-ON-RAILS] RubyInstaller 2.2.1 및 레일 - 레이크는 노코 기리를로드 할 수 없습니다 (0) | 2020.03.03 |