로그인까지 했으니 이제
로그아웃.
계정, 권한 만들기,
admin 페이지를 만들어 보겠다.
1. 로그아웃 하기
우선 로그아웃 기능을 추가한다.
이전에 만든 SecurityConfig 에 내용을 추가한다.
로그인 관련 설정 및 /logout 절차 내용이다.
로그아웃 시 /login 페이지로 다시 돌려보낸다.
따로 /logout 을 매핑하지 않아도 security 가 알아서 처리해준다.
2. 권한 만들기
우선 테이블과 모델 클래스를 만든다.
권한Id, 이름, 설명 객체를 만들고
roleId 는 자동으로 증가하게끔, 나머진 nvarchar 로 대충 (쿼리문 어디간지 모르겠음)
(테이블 role1 로 지음)
권한과 유저를 매핑할 수 있는 테이블과 객체를 하나 생성
(테이블 role_user1 로 지음)
이후 이 권한을 이용해 게시판에도 내용을 넣을거니 게시판과 권한을 위한 테이블 하나 생성해줌.
게시판 카테고리 객체 및 테이블을 하나 만들어주고 (테이블 board_category)
CREATE TABLE board_role (
categoryId INT NOT NULL, -- board_category 테이블의 categoryId 컬럼을 참조
roleId INT NOT NULL, -- role1 테이블의 roleId 컬럼을 참조
PRIMARY KEY (categoryId, roleId),
FOREIGN KEY (categoryId) REFERENCES board_category(categoryId), -- board_category 테이블의 categoryId 컬럼을 참조
FOREIGN KEY (roleId) REFERENCES role1(roleId) -- role1 테이블의 roleId 컬럼을 참조
);
위처럼 매핑할 테이블도 하나 만들어주었다.
이후 Role 에 admin 을 위해 미리 데이터 하나 넣어줌.
insert into role1 (role_id, role_name) values (1, 'ROLE_ADMIN');
insert into role_user1 (username, role_id) values ('admin', 1);
이전에 만든 admin 이라는 계정에, ROLE_ADMIN 이라는 권한을 생성해서 그 권한을 부여해주었다.
Spring Security 권한은 기본적으로 ROLE_XXXX 형태로 만들면된다.
3. admin 페이지 작성
어드민 계정 및 권한도 만들었으니 나머지는 이제 이 권한을 사용해서 페이지를 통해 생성해볼 수 있게 만들어본다.
우선 페이지를 만들었는데,
WEB-INF/jsp 아래 admin 이라는 폴더를 하나 더 만들어서 다른 jsp 파일들과 구분을 지을 수 있게끔 만들었다.
그리고 흩어져있는 CSS들을 하나로 관리하기 위해 CSS파일을 하나 만들었다.
main.css 내용
우리 챗GPT 작품
'IT 공부 > 프로젝트' 카테고리의 다른 글
[Spring] 게시판 만들기 12 - 게시판 카테고리 관리기 (1) | 2024.07.23 |
---|---|
[Spring] 게시판 만들기 11 - 계정 생성하기 (Spring Security 3) (1) | 2024.07.22 |
[Spring] 게시판 만들기 9 - Spring Security 등록하기 1 (0) | 2024.07.19 |
[Spring] 게시판 만들기 8 - 파일 업로드/다운로드 (0) | 2024.07.16 |
[Spring] 게시판 만들기 7 - 댓글 기능 2 (0) | 2024.07.11 |