m6web / domain-user-bundle
此包已被放弃,不再维护。没有建议的替代包。
按域名进行用户认证
v3.0.0
2019-11-27 13:41 UTC
Requires
- m6web/firewall-bundle: 0.3.*|~1.0.0|^2.0.2
Requires (Dev)
- atoum/atoum: ^2.8|^3.0
- symfony/symfony: ~2.7|~3.0|~4.0
README
DomainUserBundle 提供通过子域名进行用户认证。它允许通过子域名进行防火墙、缓存定制、路由过滤和数据过滤。
依赖项
DomainUserBundle 需要 FirewallBundle。
安装
在您的 composer.json 文件中添加此行
{ "require": { "m6web/domain-user-bundle": "~1.0" } }
更新您的 vendors
$ composer update m6web/domain-user-bundle
添加到您的 AppKernel.php
new M6Web\Bundle\DomainUserBundle\M6WebDomainUserBundle(), new M6Web\Bundle\FirewallBundle\M6WebFirewallBundle(),
配置
修改您的路由以添加主机要求中的参数
routes: resource: api_routing.yml host: {client}api.example.com requirements: client: ([a-z0-9]+\.)? defaults: client ""
在您的 app/config.yml
中添加
m6_web_domain_user: default_cache: 300 # Default cache duration router_parameter: client # Parameter in the host requirement default_user: public # User when the parameter is not found users_dir: %kernel.root_dir%/config/users # Directory containing the user configs firewall: allow_debug_route: false # Allows or not (default) web debug toolbar routes for the concerned environment
添加一个用户 app/config/users/public.yml
firewall: user_access: # Configure IP restrictions with FirewallBundle default_state: false lists: internal: true allow: # Filter routes alllowed to this user default: true methods: delete: false # Override by method resources: article: false # Override by routes configured with "defaults: {resource: article}" route: post_comment: false # Override by route name allow_debug_route: false # Allows or not (default) web debug toolbar routes for this user cache: defaults: 60 # Override the default cache duration routes: hello: 86400 # Override by route name entities: article: active: true # Arbitrary flag you can use to filter your entities in your repositories parameters: param_name: param_value # Arbitrary parameters
编辑您的 app/config/security.yml
security: firewalls: secured_area: pattern: ^/ anonymous: false m6_web_domain_user: true providers: m6_web_domain_user: id: m6_web_domain_user.user_provider
测试
$ ./vendor/bin/atoum
鸣谢
由 Cytron Team 的 M6 Web 开发。使用 atoum 进行测试。
许可协议
DomainUserBundle 在 MIT 许可协议 下发布。