orisai/auth
最新稳定版本:2.0.4
Composer 安装命令:
composer require orisai/auth
包简介
Authentication and authorization
关键字:
README 文档
README
Auth
Authentication and authorization
📄 Check out our documentation.
💸 If you like Orisai, please make a donation. Thank you!
This package is inspired by nette/security from David Grudl. Thank you, David!
namespace App\Admin\Article\View; use Orisai\Auth\Authentication\Identity; use Orisai\Auth\Authentication\SimpleFirewall; final class ArticleEditController { private SimpleFirewall $firewall; public function __construct(SimpleFirewall $firewall) { $this->firewall = $firewall; } public function run(): void { if (!$this->firewall->isAllowed('administration.entry')) { // Not allowed } $article = /* get article by ID from request */; if (!$this->firewall->isAllowed('article.edit', $article)) { // Not allowed } // Is allowed } } use App\Core\Article\Article; use Orisai\Auth\Authorization\Policy; use Orisai\Auth\Authorization\PolicyContext; /** * @implements Policy<Article> */ final class ArticleEditPolicy implements Policy { public static function getPrivilege(): string { return 'article.edit'; } public static function getRequirementsClass(): string { return Article::class; } /** * @param Article $requirements */ public function isAllowed(Identity $identity, object $requirements, PolicyContext $context): bool { $authorizer = $context->getAuthorizer(); return $authorizer->hasPrivilege($identity, self::getPrivilege()) && $requirements->getAuthor()->getId() === $identity->getId(); } }
统计信息
- 总下载量: 20k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 7
- 点击次数: 0
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MPL-2.0
- 更新时间: 2020-10-19