このチュートリアルでは、彼はカスタムログインフォームを作成し、それがどのように行われるかを示します。検索してください
カスタムログインを削除してデフォルトに戻すにはどうすればよいですか?
コーディングするには次のようになります
sub cgiapp_init {
my $self = shift;
my %CFG = $self->cfg;
# ...
$self->authen->config(
DRIVER => [ 'Authen::Simple::LDAP',
host => '',
basedn => '',
],
STORE => 'Session',
LOGOUT_RUNMODE => 'logout',
LOGIN_RUNMODE => 'login',
POST_LOGIN_RUNMODE => 'okay',
RENDER_LOGIN => \&my_login_form,
);
$self->authen->protected_runmodes(
'mustlogin',
);
}
sub login : Runmode {
my $self = shift;
my $url = $self->query->url;
my $user = $self->authen->username;
if ($user) {
my $message = "User $user is already logged in!";
my $template = $self->load_tmpl('default.html');
$template->param(MESSAGE => $message);
$template->param(MYURL => $url);
return $template->output;
} else {
my $url = $self->query->self_url;
unless ($url =~ /^https/) {
$url =~ s/^http/https/;
return $self->redirect($url);
}
return $self->my_login_form;
}
}
アップデート
これは、CGI::Applicationが彼よりも見栄えのするデフォルトのログインを持っているという言及です。
行159は、ログインフォームの生成に使用するサブルーチンを指定しています。認証プラグインには、使用できるデフォルトのフォームが付属していることに注意してください。本当に必要な場合に備えて、独自の作成方法を示すために、これを含めています。デフォルトのものは実際には私のものよりもはるかに良く見えるので、159行目をコメントアウトすることをお勧めします!