2016-07-08 11 views
1

Dancer2プラグインを使用しようとしています:Dancer2::Plugin::Auth::Extensible自分の認証プロバイダでは、私が取り組んでいるプロジェクトに既存のものがあるためです。Dancer2認証

私はthe given exampleを採用しましたが、authenticate_userusersサブルーチンの両方に2つのパラメータを渡す必要があります。パラメータは動的なので、設定ファイルで追加することはできません。

ユーザー名を文字列(連結)として渡してからauthenticate_userに分割するという方法がありますが、これはusersサブルーチンでは機能しません。そして、これは正しい方法ではありません。

私も

sub authenticate_user { 
    my ($self, $username_course, $password, $realm,$param) = @_; 

のように、定期的なパラメータとして渡す試してみましたが、これは(理由はわからない)動作しませんでした、そしてそれがどのパラメータなしusers、動作しません。

これはダンサー2 ::プラグインなので、私はそれを活用できると思っていますが、既存のプラグインをどのように適応させるかは正確には考えていません。これは私が試したことです:

package Dancer2::Plugin::Auth::Extensible::Provider::Test; 

use Moo; 
with "Dancer2::Plugin::Auth::Extensible::Role::Provider"; 

has authen_param => (is => 'rw'); 

plugin_keywords 'set_param'; # this fails compilation 


sub set_param { 
    my ($self,$p) = @_; 
    $self->authen_param($p); 
} 

sub authenticate_user { 
    my ($self, $username, $password) = @_; 

    # use authen_param to authenticate 
} 
1 
+0

参考までに、多くの人がダンサータグに従っているわけではないので、perlタグも含めればダンサーの質問にもっと目を向けるでしょう。 – ThisSuitIsBlackNot

+0

渡す必要がある余分なパラメータは何ですか?また、どこから来るのですか?ユーザーが入力しますか? – ThisSuitIsBlackNot

+0

このパラメータは、ユーザーの認証に必要な追加情報を決定する文字列です。 –

答えて

0

私は必要な情報を格納するためにセッションを使用できるようです。セッションにパラメータを格納してから、$self->plugin->dsl->session->data->{param_name}を使用してパラメータを取得できることを確認する必要があります。

関連する問題