> 管理機能 > 管理画面login_idの取得 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
sh1ntqr0 |
投稿日時: 2016/12/2 19:32
対応状況: −−−
|
半人前 登録日: 2016/6/13 居住地: 投稿: 22 |
管理画面login_idの取得 こんばんは。
管理画面にログインした際に、誰がログインしたかどうかすぐわかるようにlogin_idが書いたlogを出力したいと思っております。 AdminControllerにlogを埋め込み、 $session->get(SecurityContext::LAST_USERNAME) 上記の式の内容を出力して実装しようと思ったのですが、 1つ前に入力したlogin_idしか取れてこないため、 1つ前のユーザーしかわかりません。 postにて取得した値をそのまま取りたいのですが、 一番簡単に取れる方法はないでしょうか? どなたかご教授いただけないでしょうか? どうぞよろしくお願いいたします。 EC-CUBE3.0.10を使用しています。 |
umebius |
投稿日時: 2016/12/2 21:34
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 管理画面login_idの取得 POSTを取っているわけではありませんが、1つの方法としてsecurity.authentication.success_handlerを利用する方法がございます。
記事にしましたので、よろしければご確認ください。 ●ユーザーがログイン成功/失敗したときにプログラムを実行する方法 https://umebius.com/eccube/user-authencation-handler/
|
468 |
投稿日時: 2016/12/5 10:54
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 管理画面login_idの取得 /src/Eccube/EventListener/SecurityEventListener.phpに
管理画面にログイン成功した時に そのユーザーの最終ログイン日時を更新している処理があります。
ここで$userにログインユーザー情報を取得していますので、 $user->getId()や$user->getName()などでユーザーの情報を取得できると思います。 あと、$this->entityManagerもありますので、 DBに対する操作も簡単に行えると思います。 ログイン時のPOSTの値はログイン成功後だと取得できないと思います。 認証処理はコントローラーの前に処理されていて、 認証成功後に一度リダイレクトされているようです。 |
sh1ntqr0 |
投稿日時: 2016/12/5 16:09
対応状況: 解決済
|
半人前 登録日: 2016/6/13 居住地: 投稿: 22 |
Re: 管理画面login_idの取得 いつもお世話になっています。
記事のやり方にて実装してみると、 きちんと成功したユーザーのidが取れるようになりました。 本当にありがとうございました! |
sh1ntqr0 |
投稿日時: 2016/12/5 16:12
対応状況: −−−
|
半人前 登録日: 2016/6/13 居住地: 投稿: 22 |
Re: 管理画面login_idの取得 丁寧に色々とアドバイスありがとうございます!
そのような箇所でも色々更新がされていたのですね。。。 今ほど違うやり方でも作業をしていたところでした。 こちらのやり方でも実装ができるか どうかきちんと確認してみたいと思います! 本当にありがとうございました! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |