Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

抽象化レイヤー: Symfony/Security #19

Open
kiy0taka opened this issue Apr 25, 2023 · 0 comments
Open

抽象化レイヤー: Symfony/Security #19

kiy0taka opened this issue Apr 25, 2023 · 0 comments
Assignees

Comments

@kiy0taka
Copy link
Contributor

kiy0taka commented Apr 25, 2023

Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface

  • ログアウト処理 $tokenStorage->setToken(null)
  • ログインユーザー取得 $tokenStorage->getToken()->getUser()

対応案

アダプターとしてSecurityContextクラスを作成。
SecurityContext#logout()
SecurityContext#getLoginCustomer()

Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface

  • 権限確認 isGranted('...')

対応案

SecurityContext#isGranted('...') or SecurityContext#isAdmin()

Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface

  • エンコーダー取得 getEncorder($entity)

対応案

SecurityContext#getEncoder($entity)

Password Hasherに移行してもよいのでは。
パスワードのHashアルゴリズムを自動的に更新していってくれる。EC-CUBEのパスワードの自動移行も可能。
https://symfony.com/doc/current/security/passwords.html
chihiro-adachi@b182b20?diff=split

Symfony\Component\Security\Http\Authentication\AuthenticationUtils

  • 認証エラー取得 getLastAuthenticationError(): AuthenticationException
  • ログインフォームでの最後に入力されたユーザー名取得(CustomerLoginTypeで使用) getLastUsername()

対応案

Eccube\Security\Http\Authentication\AuthenticationUtilsクラスを作成してアダプトする。

Symfony\Component\Security\Csrf\CsrfTokenManagerInterface

POSTリクエストをforwardするときにCSRFトークンを設定し直している

Constant::TOKEN_NAME => $tokenManager->getToken('admin_csv_import')->getValue(),

対応案

forwardせずにメソッド呼び出しで解決する

Symfony\Component\Security\Core\User\UserInterface

対応案

Symfony\Component\Security\Core\User\UserInterface
extends Eccube\Security\UserInterfaceを作成

Symfony\Component\Security\Core\Validator\Constraints\UserPassword

Symfony/Validatorと合わせて対応を検討する

@kiy0taka kiy0taka self-assigned this Apr 25, 2023
@kiy0taka kiy0taka converted this from a draft issue Apr 25, 2023
@nanasess nanasess moved this from 🔖 Ready to 🏗 In progress in next-poc Jun 6, 2023
@kiy0taka kiy0taka moved this from 🏗 In progress to ✅ Done in next-poc Jun 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

1 participant