skyline / cms-security
v8.0.7
2023-03-14 09:28 UTC
Requires
- php: ^8
- ext-openssl: *
- skyline/core-application: ^8
- skyline/pdo: ^0.9
- skyline/security: ^8
- tasoft/value-injector: ^1
Requires (Dev)
README
安装此包,可轻松将skyline/security
包应用于您的应用程序。
它包含一个预配置,您可以根据需求轻松调整。
编译器注解
此包通过另一个注解编译器扩展了您的应用程序编译。
注解可以放置在您的动作控制器中。在其他任何地方它们都不会影响编译。
<?php use Skyline\Application\Controller\AbstractActionController; /** * @annotation .... Class annotations are valid for all action methods. */ class MyActionController extends AbstractActionController { /** * @annotation .... This annotation is only valid for the action myAction */ public function myAction() { // ... } }
这些注解可用:
身份识别
@reliability <数字或IdentityInterface::RELIABILITY_*常量>
(不允许多个)
需要最小可靠性。@token <字符串>
(允许多个,如果有一个匹配,则条件满足)
需要特定的身份令牌名称。@apply-identity
强制验证身份。
认证
@user <字符串>
(允许多个,如果有一个匹配,则条件满足)
需要通过其名称指定的特定用户。@group <字符串>
(允许多个,如果有一个匹配,则条件满足)
需要认证用户是特定组的成员
授权
@role <字符串>
(允许多个,如果全部匹配,则条件满足)
需要认证用户具有特定角色
请注意,根据您的需求,并非所有安全过程都会执行
如果您只需要可靠性和令牌,则不会执行认证!
有关更多信息,请参阅包skyline/security
。
编译数据库
Skyline编译器允许您使用--with-pdo
编译标志。
使用此标志编译,此包将尝试创建允许完整工作登录系统的数据库表。
SKY_USER
表包含用户所需的所有必要信息,当然,您也可以轻松扩展它。SKY_ROLE
授权部分是角色,谁有权访问哪个动作。SKY_GROUP
用户可以是一个或多个组的成员。这也允许授权动作。SKY_USER_GROUP
中间表:哪个用户是哪个组的成员SKY_USER_ROLE
中间表:哪个用户拥有哪些角色SKY_GROUP_ROLE
中间表:哪个组拥有哪些角色
因此,如果一个用户是某个组的成员,则用户继承该组分配的所有角色。
安全特性
<?php trait SecurityTrait { // .... }
安全特性可用于任何您想动态访问安全功能的类。