質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

3051閲覧

SpringAOPでHttpSessionの情報を取得する方法

MikenekoSamane

総合スコア102

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2021/07/22 05:55

前提・実現したいこと

Spring tool suiteのAOPで
HttpSession にログイン情報が格納されているかを取得したいです
ログイン済みの場合、Controllerで"loginID"にsetAttributeしてあります。

発生している問題

下記のコードでは、Controller側のメソッドで引数に指定したものしか取得できず、
HttpSessionの内容が取得できておりません

該当のソースコード

java

1@Component 2@Aspect 3public class Test { 4 @Before("execution(Public String com.example.demo.controller.*.*(..))") 5 public void sessiontest(JoinPoint joinPoint) { 6 String[] methodArgNames = ((CodeSignature) joinPoint.getSignature()).getParameterNames(); 7 8 Object[] methodArgValues = joinPoint.getArgs(); 9 10 for (int i = 0; i < methodArgNames.length; i++) { 11 System.out.println(methodArgNames[i] + "=" + String.valueOf(methodArgValues[i])); 12 } 13 14 } 15}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

sessionにloginIDというキー値で追加している場合
以下のようなコードで取得できるかと思います。

java

1HttpServletRequest req = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); 2req.getSession().getAttribute("loginID");

[参考]
https://www.kimullaa.com/entry/2017/02/18/211448

投稿2021/07/22 06:26

momotuwo

総合スコア155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MikenekoSamane

2021/07/22 06:33

回答ありがとうございます。 無事取得できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問