質問編集履歴

2

追加

2017/07/07 04:59

投稿

Yoshi--
Yoshi--

スコア62

test CHANGED
File without changes
test CHANGED
@@ -303,3 +303,131 @@
303
303
 
304
304
 
305
305
  どのように記述すれば良いのでしょうか??
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+ LoginUserDetails
314
+
315
+ ```java
316
+
317
+ //UserDetailsの実装クラス
318
+
319
+
320
+
321
+ package com.example.konkatsu.service;
322
+
323
+
324
+
325
+ import org.springframework.security.core.authority.AuthorityUtils;
326
+
327
+
328
+
329
+ import com.example.konkatsu.domain.User;
330
+
331
+
332
+
333
+ import lombok.Data;
334
+
335
+
336
+
337
+ @Data
338
+
339
+ public class LoginUserDetails extends org.springframework.security.core.userdetails.User{
340
+
341
+ private final User user;
342
+
343
+
344
+
345
+ public LoginUserDetails(User user){
346
+
347
+ super(user.getMail(), user.getPass(), AuthorityUtils.createAuthorityList("ROLE_USER"));
348
+
349
+ this.user = user;
350
+
351
+ }
352
+
353
+
354
+
355
+ }
356
+
357
+
358
+
359
+ ```
360
+
361
+
362
+
363
+
364
+
365
+ LoginUserDetailsService
366
+
367
+ ```java
368
+
369
+ //usersテーブルから取得した情報を用いて LoginUserDetailsを作るクラス
370
+
371
+
372
+
373
+
374
+
375
+
376
+
377
+ package com.example.konkatsu.service;
378
+
379
+
380
+
381
+ import org.springframework.beans.factory.annotation.Autowired;
382
+
383
+ import org.springframework.security.core.userdetails.UserDetails;
384
+
385
+ import org.springframework.security.core.userdetails.UserDetailsService;
386
+
387
+ import org.springframework.security.core.userdetails.UsernameNotFoundException;
388
+
389
+ import org.springframework.stereotype.Service;
390
+
391
+
392
+
393
+ import com.example.konkatsu.domain.User;
394
+
395
+ import com.example.konkatsu.repository.RegisterUserRepository;
396
+
397
+
398
+
399
+ @Service
400
+
401
+ public class LoginUserDetailsService implements UserDetailsService {
402
+
403
+
404
+
405
+ @Autowired
406
+
407
+ RegisterUserRepository registerUserRepository;
408
+
409
+
410
+
411
+ @Override
412
+
413
+ //loadUserByUsernameでは、UserDetails形式で値を返すという宣言
414
+
415
+ public UserDetails loadUserByUsername(String mail) throws UsernameNotFoundException {
416
+
417
+ User user = registerUserRepository.findByMail(mail);
418
+
419
+ if(user == null){
420
+
421
+ throw new UsernameNotFoundException("ユーザーが見つかりません");
422
+
423
+ }
424
+
425
+ return new LoginUserDetails(user); //UserDetails形式で値を返すという宣言
426
+
427
+ }
428
+
429
+ }
430
+
431
+
432
+
433
+ ```

1

修正

2017/07/07 04:59

投稿

Yoshi--
Yoshi--

スコア62

test CHANGED
File without changes
test CHANGED
@@ -92,7 +92,7 @@
92
92
 
93
93
 
94
94
 
95
- <span sec:authentication="principal.user.userId">メアド</span>
95
+ <span sec:authentication="principal.user.userId">ログインID表示</span>
96
96
 
97
97
 
98
98
 
@@ -268,7 +268,7 @@
268
268
 
269
269
  ```
270
270
 
271
- <span sec:authentication="principal.user.mail">
271
+ <span sec:authentication="principal.user.userId">
272
272
 
273
273
  ```
274
274