1

我需要为两种类型的用户,客户和员工创建一个身份验证系统。我想使用两个单独的领域对它们进行身份验证(通过Catalyst::Plugin::Authentication),但是我想限制客户端只能看到客户端控制器,而工作人员可以自由查看客户端控制器和工作人员控制器。过去,每当我只需要验证一种类型的用户时,我都会使用CatalystX::SimpleLogin,因为这使得验证用户非常简单,以及记住用户必须登录时将用户重定向到哪个 URL 之类的事情访问页面等。但是,我无法找到一种方法来使用CatalystX::SimpleLogin. 以前有没有人这样做过,或者任何人都可以想到一种方法来做到这一点?还是我最好直接使用Catalyst::Plugin::Authentication来完成我想要的?谢谢!

4

1 回答 1

2

你想要的是通过Catalyst::Plugin::Authorization::Roles. 这使您可以轻松区分不同的用户类型。这是Catalyst::Plugin::Authentication文档中的一个示例:

use Catalyst qw/
    ...
    Authorization::Roles
/;

sub edit : Local {
    my ( $self, $c ) = @_;

    $c->detach("unauthorized") unless $c->check_user_roles("edit");

    # do something restricted here
}
于 2013-05-17T04:29:19.837 回答