1
나는 여기에 하나를 기반으로하는 인증 시스템을 발견 건물입니다 :Mojolicious 플래시 메시지
https://github.com/alexanderBendo/Experiments/blob/master/exp0001/mojolicious-auth-session.pl
오전 데 문제는 사용자가 잘못된 사용자 이름 또는 암호를 입력하면, 서버가 반환된다는 것이다 플래시 메시지가 로그인하지 않고 페이지에 액세스하려고하는 것처럼 표시됩니다. 잘못된 자격 증명 메시지가 표시되어야합니다. 잘못된 신임장을 두 번 입력하면 유효하지 않은 신임장 메시지가 표시됩니다.
다음은 관련 코드입니다 :
sub main {
my $self = shift;
if ($self->is_user_authenticated) {
$self->redirect_to('/main/cp');
} else {
$self->flash(message => 'You must log in to view this page');
$self->render('login');
}
}
sub login {
my $self = shift;
my $user = $self->param('name') || q{};
my $pass = $self->param('pass') || q{};
if ($self->authenticate($user, $pass)) {
$self->redirect_to('/main/cp');
} else {
$self->flash(message => 'Invalid credentials!');
$self->render('login');
return;
}
}
템플릿 :
% layout 'default';
% title 'Login';
<h1>Log In</h1>
<% if (my $message = flash 'message') { %>
<b><%= $message %></b><br>
<% } %>
<%= form_for login => (method => 'post') => begin %>
Name: <%= text_field 'name' %>
<br>
Password: <%= password_field 'pass' %>
<br>
<%= submit_button 'Login' %>
<% end %>
감사합니다.