Spring bootのSecurity(認可設定)についての質問
Q&A
Closed
解決したいこと
現在解体新書という書籍にて11章のSpring セキュリティの内容に着手しています。
最後の内容で、画面表示の認可(権限による画面表示の切り替え)をやっています。
htmlにて修正を加えるだけで権限による制御ができる認識です。
(書籍でもhtmlのみしか修正はなく、サイトで他の方の実装ソース調べてもhtmlの修正のみで切り替えできていました)
しかし、一般ユーザでもボタンがでてきてしまいます。
原因がわからない状態です。。
解決方法、案がございましたら、指摘頂きたいです。
よろしくお願いいたします。
関連しそうなソース
■menu.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorate="~{layout/layout}"
xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
<head>
</head>
<body>
<div layout:fragment="menu" class="bg-light">
<ul class="nav nav-pills nav-stacked">
<li role="presentation">
<a class="nav-link" th:href="@{'/user/list'}">ユーザ一覧</a>
</li>
<li role="presentation" sec:authorize="hasRole('ADMIN')">
<a class="nav-link" th:href="@{'/admin'}">アドミン専用</a>
</li>
</ul>
</div>
</body>
</html>
該当するソースコード
■data.sql
INSERT INTO employee(id,name,age)
VALUES('1','Tom',30);
/*ユーザマスタ*/
INSERT INTO m_user (
user_id
,password
,user_name
,birthday
,age
,gender
,department_id
,role
) VALUES
('system@co.jp','$2a$10$LOyuZxpdrqRtijj2uutTvu8bRdAL.ugA2a059sTS2R9jkrmAlWBb2','システム管理者','2000-01-01',21,1,1,'ROLE_ADMIN')
,('user@co.jp','$2a$10$LOyuZxpdrqRtijj2uutTvu8bRdAL.ugA2a059sTS2R9jkrmAlWBb2','ユーザ1','2000-01-01',21,1,1,'ROLE_GENERAL')
;
/*部署マスタ*/
INSERT INTO m_department (
department_id
,department_name
) VALUES
(1,'システム管理部')
,(2,'営業部')
;
/*給料テーブル*/
INSERT INTO t_salary (
user_id
,year_month
,salary
) VALUES
('user@co.jp','2020/11',280000)
,('user@co.jp','2020/12',290000)
,('user@co.jp','2021/01',300000)
;
自分で試したこと
spring securityの認可設定と調べてもhtmlのソース修正のみで実現できている方が多かったので、解決案が見つけられていません。。
キャッシュ等の問題かと思い、プライベートモードでの確認も実行しましたが、変化なしでした。