小编Eri*_*son的帖子

Cro用户会话被遗忘了

我正在努力学习Cro(和Per​​l6同时);)

我的学习应用程序基于Cro的文档.我添加了一些可行的身份验证,但用户会话立即被遗忘.

您可以访问https://gitlab.com/ecocode/beaverapp查看代码, 转到登录pasge并使用"user"和"pwd"登录.您将被重新路由到/(表示登录成功),但消息中有"当前用户: - ".因此会话迷失了.

Routes.pm6的相关部分:

class UserSession does Cro::HTTP::Auth {
    has $.username is rw;

    method logged-in() {
        defined $!username;
    }
}

my $routes = route {
    subset LoggedIn of UserSession where *.logged-in;

    get -> UserSession $s {
        content 'text/html', "Current user: {$s.logged-in ?? $s.username !! '-'}";
    }

    get -> LoggedIn $user, 'users-only' {
        content 'text/html', "Secret page just for *YOU*, $user.username()";
    }

    get -> 'login' {
        content 'text/html', q:to/HTML/;
            <form method="POST" action="/login">
              <div>
                Username: <input type="text" …
Run Code Online (Sandbox Code Playgroud)

perl6 cro

7
推荐指数
1
解决办法
143
查看次数

标签 统计

cro ×1

perl6 ×1