th0masso / ssacc-bundle
Symfony 安全访问控制检查器
v1.0.0
2024-01-15 15:28 UTC
Requires
- php: ^8.0
- symfony/config: ^6.0|^7.0
- symfony/console: ^6.0|^7.0
- symfony/dependency-injection: ^6.0|^7.0
- symfony/http-kernel: ^6.0|^7.0
- symfony/routing: ^6.0|^7.0
- symfony/security-bundle: ^6.0|^7.0
- symfony/yaml: ^6.0|^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.9
- phpstan/phpstan: ^1.8
README
SSACC 是一个 Symfony 扩展包,用于列出项目中所有未进行权限检查的路由。
该扩展包会检查控制器动作的第一行是否调用了某些函数。
您可以通过这篇文章了解更多关于如何确保 Symfony 应用中所有路由都有访问控制的信息:确保 Symfony 路由具有访问控制的方法。
目录
安装
composer require --dev ssacc/ssacc-bundle
配置
您应该创建一个如下所示的配置文件
ssacc-config: project_path: "./" controllers_path: "src/" exclude_all_routes_that_start_with: - "web_profiler" - "twig" exclude_full_routes: - "error_controller::preview" security_requirement: - "$this->denyAccessUnlessGranted" - "!$this->isGranted"
这些都是默认值,您可以按需更改。
您可以使用 ssacc-config.dist.yaml
作为模板。
默认配置路径为 ./ssacc-config.yaml
,但您可以在下一步中更改它。
选项说明
project_path
: 项目根目录的路径。controllers_path
: 控制器目录的路径。exclude_all_routes_that_start_with
: 字符串数组。所有以这些字符串之一开头的路由都将被排除。exclude_full_routes
: 字符串数组。所有与这些字符串之一匹配的路由都将被排除。security_requirement
: 字符串数组。控制器动作第一行没有包含这些字符串之一的任何路由函数都将被列出。
使用
唯一参数是您在前一步中创建的配置文件的相对路径。
这是可选的,默认值为 ssacc-config.yaml
(项目根目录)。
php bin/console security:check-access-control myConfigDir/my-config-file.yaml
示例
TODO: 将示例代码添加到此仓库。