Как удалить форму входа в систему из этого примера CGI::Application?

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

Как удалить пользовательский логин и вернуться к настройкам по умолчанию?

Чтобы код выглядел так

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 указывается подпрограмма, используемая для создания формы входа. Обратите внимание, что плагин Authentication поставляется с формой по умолчанию, которую вы можете использовать. Я включил этот, просто чтобы продемонстрировать, как создать свое собственное, если вы действительно этого хотите. По умолчанию он выглядит намного лучше моего, так что вы можете закомментировать строку 159!

2 ответа

Решение

Я автор этого урока. Извините за путаницу! То, что я должен был сказать, это "закомментировать строки 157, 158 и 159 файла Login.pm". Чтобы использовать форму по умолчанию, встроенную в модуль CGI::Application::Plugin::Authentication, вам не нужно указывать LOGIN_RUNMODE, POST_LOGIN_RUNMODE или RENDER_LOGIN. Все они предоставлены только для того, чтобы помочь вам настроить страницу входа в систему. Я включил настроенную версию в учебник, думая, что большинству людей нужно будет знать, как это сделать.

По умолчанию он выглядит намного лучше моего, так что вы можете закомментировать строку 159!

Комментарий из строки 159.

Другие вопросы по тегам