我需要为两种类型的用户创建一个身份验证系统。我想使用两个不同的领域对它们进行身份验证(通过Catalyst::Plugin::Authentication),但是我想限制客户端只能看到客户端控制器,而员工可以自由地看到客户端控制器和员工控制器。在过去,每当我只需要验证一种类型的用户时,我就会使用CatalystX::SimpleLogin,因为这使得验证用户非常简单,以及记住如果用户必须登录才能访问页面时将用户重定向到哪个URL之类的事情。然而,我想不出使用CatalystX::SimpleLogin来做这件事的方法。以前有没有人这样做过,或者有人能想出一种方法来做到这一点?或者直接使用Catalyst::Plugin::Authentication来完成我想要的事情会更好?谢谢!
发布于 2013-05-17 12:29:20
您需要的是通过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
}https://stackoverflow.com/questions/16600922
复制相似问题