nhagemann/anycontent-backend

Symfony Bundle,用于将AnyContent Backend添加到任何Symfony项目中

安装: 536

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 4

分支: 0

开放问题: 0

语言:JavaScript

类型:symfony-bundle

0.1 2023-12-01 15:43 UTC

This package is auto-updated.

Last update: 2024-09-15 09:11:14 UTC


README

确保已全局安装Composer,如Composer文档中的安装章节所述。

步骤 1:通过Composer安装

在composer json中要求该包

composer require nhagemann/anycontent-backend

步骤 2:启用Bundle

然后,通过将其添加到项目config/bundles.php文件中注册的Bundle列表中启用Bundle

// config/bundles.php

return [
    // ...
    AnyContent\Backend\AnyContentBackendBundle::class => ['all' => true],
];

步骤 3:安装资源

如果需要,手动安装资源,另一个composer update应该已经完成了。如果在public文件夹中出现bundles/anycontentbackend文件夹,那么一切就绪。

    assets:install public

步骤 4:配置路由

config/routes/anycontent.yaml

anycontent_backend:
    resource: '@AnyContentBackendBundle/Resources/config/routes.yaml'
    prefix: /anycontent

之后可能需要清除Symfony缓存。浏览/anycontent以查看安全警告,因为你尚未登录。

步骤 5:配置用户

config/packages/security.yaml

    # simple http authentication
    firewalls:
      anycontent:
        pattern: ^/anycontent
        lazy: true
        provider: users_in_memory
        http_basic:
          realm: Secured Area
    # form based login
    firewalls:
        anycontent:
          pattern: ^/anycontent
          lazy: false
          provider: users_in_memory
          form_login:
            login_path: anycontent_login
            check_path: anycontent_login
          logout:
            path: anycontent_logout
            target: anycontent_start
    # some in memory users
    providers:
        users_in_memory:
                memory:
                    users: # get new password hash via php -r "echo password_hash('****', PASSWORD_BCRYPT, ['cost' => 13]) . PHP_EOL;"
                        yourusername: { password: 'puthashhere', roles: [ 'ROLE_ANYCONTENT' ] }

步骤 6:配置仓库

将any_content_backend:部分添加到您的配置中,这里有一些不同连接类型的示例

any_content_backend:
  connections:
    - { name: 'recordsfile1', type: 'recordsfile', cmdl_file: '%kernel.project_dir%/../_repositories/recordsfile1/test1.cmdl', content_file: '%kernel.project_dir%/../_repositories/recordsfile1/test1.json', files_path: '%kernel.project_dir%/../_repositories/_files' }
    - { name: 'recordsfile1', type: 'recordsfile', cmdl_file: '%kernel.project_dir%/../_repositories/recordsfile1/test2.cmdl', content_file: '%kernel.project_dir%/../_repositories/recordsfile1/test2.json'}
    - { name: 'recordsfile1', type: 'recordsfile', cmdl_file: '%kernel.project_dir%/../_repositories/recordsfile1/config/test.cmdl', config_file: '%kernel.project_dir%/../_repositories/recordsfile1/config/test.json'}
    - { name: 'recordfiles1', type: 'recordfiles', cmdl_file: '%kernel.project_dir%/../_repositories/recordfiles1/test.cmdl', content_path: '%kernel.project_dir%/../_repositories/recordfiles1', files_path: '%kernel.project_dir%/../_repositories/_files' }
    - { name: 'recordfiles1', type: 'recordfiles', cmdl_file: '%kernel.project_dir%/../_repositories/recordfiles1/config/test.cmdl', config_file: '%kernel.project_dir%/../_repositories/recordfiles1/config/test.json', files_path: '%kernel.project_dir%/../_repositories/_files' }
    - { name: 'archive1', type: 'contentarchive', data_path: '%kernel.project_dir%/../_repositories/archive1', files_path: '%kernel.project_dir%/../_repositories/_files' }
    - { name: 'mysql', type: 'mysql', db_host: 'anycontent-backend-mysql', db_name: 'anycontent', db_user: 'user', db_password: 'password', cmdl_path: '%kernel.project_dir%/../_repositories/mysql', files_path: '%kernel.project_dir%/../_repositories/_files'}