回答編集履歴
5
質問者さんの指摘を反映
test
CHANGED
@@ -8,11 +8,21 @@
|
|
8
8
|
|
9
9
|
```lang-java
|
10
10
|
|
11
|
+
User user=new User(name,pass);
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
LoginLogic loginLogic=new LoginLogic();
|
16
|
+
|
17
|
+
boolean isLogin=loginLogic.execute(user);
|
18
|
+
|
19
|
+
|
20
|
+
|
11
|
-
if (
|
21
|
+
if (isLogin) {
|
12
22
|
|
13
23
|
// ログインに成功したとき
|
14
24
|
|
15
|
-
session.setAttribute("loginUser",
|
25
|
+
session.setAttribute("loginUser", user);
|
16
26
|
|
17
27
|
}
|
18
28
|
|
4
追記2を訂正
test
CHANGED
@@ -46,6 +46,8 @@
|
|
46
46
|
|
47
47
|
ログイン画面のサーブレットでは必ず最初に`session.invalidate()`しても良いかも知れません。
|
48
48
|
|
49
|
+
その場合、ログインに失敗したときの`remove`は無くしてもOKです。
|
50
|
+
|
49
51
|
(eripongさん、ご指摘ありがとうございます。)
|
50
52
|
|
51
53
|
|
3
追記2
test
CHANGED
@@ -39,3 +39,13 @@
|
|
39
39
|
ちなみに、ログアウトなどで`loginUser`だけでなくセッション自体を破棄する場合は、`session.invalidate()`を実行します。
|
40
40
|
|
41
41
|
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
(さらに追記)
|
46
|
+
|
47
|
+
ログイン画面のサーブレットでは必ず最初に`session.invalidate()`しても良いかも知れません。
|
48
|
+
|
49
|
+
(eripongさん、ご指摘ありがとうございます。)
|
50
|
+
|
51
|
+
|
2
セッション破棄について追記
test
CHANGED
@@ -25,3 +25,17 @@
|
|
25
25
|
}
|
26
26
|
|
27
27
|
```
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
---
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
(追記)
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
ちなみに、ログアウトなどで`loginUser`だけでなくセッション自体を破棄する場合は、`session.invalidate()`を実行します。
|
40
|
+
|
41
|
+
|
1
表示崩れ(マークアップ失敗)を訂正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
以前に一度成功して`loginUser`に`User`がセットされてしまうと、明示的に削除しないと`User`は残ったままです。
|
2
2
|
|
3
3
|
`session.removeAttribute("loginUser");`を実行して、`loginUser`の中を消す必要があると思います。
|
4
4
|
|