seiffert / crowd-auth-bundle
该组件允许 Symfony 应用程序对 Atlassian Crowd 进行用户身份验证。
dev-master
2014-07-28 21:46 UTC
Requires
- php: >=5.3.3
- seiffert/crowd-rest-bundle: dev-master
- symfony/symfony: >=2.2.0,<2.3
Requires (Dev)
- pdepend/pdepend: 1.1.0
- phpmd/phpmd: 1.4.0
- phpunit/php-code-coverage: 1.2.*
- phpunit/php-timer: 1.0.4
- phpunit/phpunit: 3.7.*
- squizlabs/php_codesniffer: *
This package is not auto-updated.
Last update: 2024-09-14 15:47:17 UTC
README
该组件允许 Symfony 应用程序对 Atlassian Crowd 进行用户身份验证。
安装
通过 composer 安装该软件包
composer.json
:
"require": {
...
"seiffert/crowd-auth-bundle": "dev-master",
...
}
在 AppKernel 中激活该组件及其依赖组件 SeiffertCrowdRestBundle
app/AppKernel.php
:
public function registerBundles()
{
$bundles = array(
...
new Seiffert\CrowdRestBundle\SeiffertCrowdRestBundle(),
new Seiffert\CrowdRestBundle\SeiffertCrowdAuthBundle(),
...
);
...
}
配置
要连接到您组织的 Crowd 实例,您需要在项目配置中添加一些条目(例如,在 app/config/config.yml
中)
seiffert_crowd_rest:
url: https://<crowd-url>/crowd/rest/usermanagement/1
application:
name: <application-name>
password: <application-password>
- crowd-url:您的 Crowd 实例的 URL/主机名。
- application-name:在 Crowd 中注册的应用程序名称。
- application-password:在 Crowd 中注册的应用程序密码。
要使用该组件的认证提供程序,您可以使用它作为 Symfony 的 SecurityBundle
的扩展。在您的项目 security.yml
中,您需要配置一个明文密码编码器、组件的用户提供程序,并在您的防火墙定义中使用密钥 crowd_login
而不是 form_login
。其余部分与正常表单登录完全相同:您决定 URL 和登录表单。
示例 security.yml
security:
encoders:
PS\CrowdRestBundle\Crowd\User: plaintext
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
crowd:
id: ps.crowd_auth.user_provider
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/auth/login$
security: false
secured_area:
pattern: ^/
crowd_login:
check_path: /auth/check
login_path: /auth/login
logout:
path: /auth/logout
target: /
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, roles: ROLE_USER }