stepotronic/wcf-to-symfony-bridge-bundle

此包的最新版本(0.1.1)没有可用的许可信息。

Symfony WcfToSymfonyBridgeBundle

安装: 22

依赖者: 0

建议者: 0

安全: 0

星星: 0

关注者: 2

分支: 0

类型:symfony-bundle

0.1.1 2018-05-25 19:30 UTC

This package is not auto-updated.

Last update: 2024-09-18 20:43:59 UTC


README

包含能够从wcf数据库或当前会话cookie登录用户的守卫认证器的包。

此包的目的

接口woltlab社区框架的现有安装。 https://www.woltlab.com/

配置

将提到的行添加到您的参数中。由于可能存在多个安装,表可以并且应该有前缀。默认值通常是 "wcf1_"

wcf_table_prefix: wcf1_

cookie前缀可以在软件的管理后端中调整,因此也有相应的配置选项

wcf_cookie_prefix: wcf_

您需要设置默认成功路由。如果没有请求-url,用户在请求后将无法重定向到,它将仅在此情况下使用。

wcf_default_success_route: homepage

最后,这里是整合一切的 security.yml

security:
    encoders:
        stepotronic\WcfToSymfonyBridgeBundle\Entity\WcfUser:
          id: wcf.password_encoder
    providers:
        wcf_db:
            entity:
                class: WcfToSymfonyBridgeBundle:WcfUser
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        main:
            anonymous: ~
            logout: ~
            provider: wcf_db

            guard:
                entry_point: wcf.form_login_authenticator
                authenticators:
                    - wcf.cookie_hash_authenticator
                    - wcf.form_login_authenticator

    access_control:
        - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/, roles: ROLE_WCF }

在主项目中,您还必须包含wcf源。理想情况下,您可以直接指向使用的wcf安装,或者您也可以在您的composer.json中使用以下内容

"repositories": [
    {
        "type": "package",
        "package": {
            "name": "woltlab/wcf",
            "version": "2.0",
            "source": {
                "url": "https://github.com/WoltLab/WCF",
                "type": "git",
                "reference": "2.0"
            }
        }
    }
],
"require": {
    "woltlab/wcf": "*"
},
"autoload": {
    "classmap": [
        "vendor/woltlab/wcf/wcfsetup/install/files/lib/"
    ]
},    

可以覆盖两个守卫认证器的默认行为。所有成功或失败的情况下的重定向都是可配置的。以下是一个重定向到wcf登录url的示例

app.cookie_hash_authenticator:
    class: stepotronic\WcfToSymfonyBridgeBundle\Security\Guard\CookieHashAuthenticator
    arguments:
        - "@wcf.authentication_redirect_to_wcf_login_url"
        - "@wcf.authentication_response_no_action"
        - "@wcf.authentication_redirect_to_wcf_login_url"
        - "%wcf_to_symfony_bridge.cookie_prefix%"

下一步

如果您使用它,请注意,我没有在这里创建一个安全的登录控制器。不要使用它!然而,它可以帮助您调试,也许可以帮助我改进此包。

最好实现自己的控制器,并使用路由名称

security_login
security_login_check
security_logout