2

ログインを使用して認証プロバイダーをセットアップする例はたくさんありますが、パッケージ用に認証プロバイダーをセットアップする方法の例が見つかりません。

TYPO3 Neos v1.2.x

バックエンド用のエディターを含むパッケージがあります。エディターはコントローラーを介して通信する必要があります。これまでのところすべて機能していますが、現在コントローラーにアクセスできません。TYPO3 Neos パッケージの Settings.yaml を見ると、オプションがありますcontrollerObjectName

      Typo3BackendProvider:
        provider: 'PersistedUsernamePasswordProvider'
        requestPatterns:
          controllerObjectName: 'TYPO3\Neos\Controller\.*|TYPO3\Neos\Service\.*|TYPO3\Media\Controller\.*'
        entryPoint: 'WebRedirect'
        entryPointOptions:
          routeValues:
            '@package':    'TYPO3.Neos'
            '@controller': 'Login'
            '@action':     'index'
            '@format':     'html'

このオプションにコントローラーも追加すると、機能します。

          controllerObjectName: 'TYPO3\Neos\Controller\.*|TYPO3\Neos\Service\.*|TYPO3\Media\Controller\.*|Vendor\Package\Controller\Backend\.*'

しかし、その答えが Neos の設定を上書きすることだとは想像できません。

そこで、 と同じ設定で独自のプロバイダーを追加しようとしましたTypo3BackendProvider

      VendorPackageProvider:
        provider: 'PersistedUsernamePasswordProvider'
        requestPatterns:
          controllerObjectName: 'Vendor\Package\Controller\Backend\.*'
        entryPoint: 'WebRedirect'
        entryPointOptions:
          routeValues:
            '@package':    'TYPO3.Neos'
            '@controller': 'Login'
            '@action':     'index'
            '@format':     'html'

これは機能しないため、 を使用しようとして同じ名前tokenClassで定義しましたTypo3BackendProviderVendorPackageProvider動作しません。

ログも役に立ちません:

14-12-25 17:52:25 66198      127.0.0.1      INFO      Flow                 Session 52exQd3r1orQA35gTfjQZhhOae4x5SVh contains auth token TYPO3\Flow\Security\Authentication\Token\UsernamePassword for provider VendorPackageProvider. Status: no credentials given
14-12-25 17:52:25 66198      127.0.0.1      INFO      Flow                 Access denied (0 denied, 0 granted, 1 abstained) to method Vendor\Package\Controller\Backend\MyController::indexAction().
14-12-25 17:52:25 66198      127.0.0.1      INFO      Flow                 Redirecting to authentication entry point
    routeValues => array (
       @package => TYPO3.Neos
       @controller => Login
       @action => index
       @format => html
    )

少なくとも私の Policy.yaml:

resources:
  methods:
    Vendor_Package_BackendAccess: 'method(Vendor\Package\Controller\Backend\MyController->(initalize|index)Action())'

acls:
  'TYPO3.Neos:Editor':
    methods:
      Vendor_Package_BackendAccess: GRANT
4

1 に答える 1