11package dsm.pick2024.global.config.security
22
33import com.fasterxml.jackson.databind.ObjectMapper
4+ import dsm.pick2024.domain.user.entity.enums.Role
45import dsm.pick2024.global.config.filter.FilterConfig
56import dsm.pick2024.global.security.jwt.JwtTokenProvider
67import org.springframework.context.annotation.Bean
78import org.springframework.context.annotation.Configuration
9+ import org.springframework.http.HttpMethod
810import org.springframework.security.config.annotation.web.builders.HttpSecurity
911import org.springframework.security.config.http.SessionCreationPolicy
1012import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
@@ -30,93 +32,99 @@ class SecurityConfig(
3032 http.authorizeRequests()
3133 .requestMatchers(CorsUtils ::isCorsRequest)
3234 .permitAll()
33- // .antMatchers(
34- // HttpMethod.POST,
35- // "/dsm-pick/after/**",
36- // "/dsm-pick/meal",
37- // "/dsm-pick/notice",
38- // "/dsm-pick/schedule/create",
39- // "/dsm-pick/self-study/register",
40- // "/dsm-pick/timetable",
41- // "/dsm-pick/weekend-meal/saveAll",
42- // "dsm-pick/status/saveAll",
43- // "dsm-pick/schedule/**"
44- // ).hasRole(Role.SCH.toString())
45- // .antMatchers(
46- // HttpMethod.GET,
47- // "/dsm-pick/admin/**",
48- // "/dsm-pick/after/**",
49- // "/dsm-pick/application/reason/all",
50- // "/dsm-pick/application/non-return",
51- // "/dsm-pick/application/status",
52- // "/dsm-pick/application/floor",
53- // "/dsm-pick/application/grade",
54- // "/dsm-pick/application/all",
55- // "/dsm-pick/story/**",
56- // "/dsm-pick/class-room/floor",
57- // "/dsm-pick/class-room/grade",
58- // "/dsm-pick/early-return/grade",
59- // "/dsm-pick/early-return/floor",
60- // "/dsm-pick/early-return/reason/ok-all",
61- // "/dsm-pick/early-return/ok",
62- // "/dsm-pick/early-return/all",
63- // "/dsm-pick/self-study/month",
64- // "/dsm-pick/self-study/date",
65- // "/dsm-pick/self-study/admin",
66- // "/dsm-pick/weekend-meal/all",
67- // "/dsm-pick/weekend-meal/quit",
68- // "/dsm-pick/weekend-meal/excel",
69- // "/dsm-pick/weekend-meal/hey",
70- // "/dsm-pick/status/**",
71- // "/dsm-pick/user/all"
72- // ).hasRole(Role.SCH.toString())
73- // .antMatchers(
74- // HttpMethod.PATCH,
75- // "/dsm-pick/application/**",
76- // "/dsm-pick/early-return/**",
77- // "/dsm-pick/notice/modify",
78- // "/dsm-pick/status/change",
79- // "/dsm-pick/weekend-meal/status",
80- // "dsm-pick/schedule/modify",
81- // "dsm-pick/after/change",
82- // "/dsm-pick/class-room/status"
83- // ).hasRole(Role.SCH.toString())
84- // .antMatchers(
85- // HttpMethod.DELETE,
86- // "/dsm-pick/after/**",
87- // "/dsm-pick/notice/delete/",
88- // "/dsm-pick/schedule/delete/",
89- // "/dsm-pick/after/delete"
90- // )
91- // .hasRole(Role.SCH.toString())
92- // .antMatchers(
93- // HttpMethod.POST,
94- // "/dsm-pick/application",
95- // "/dsm-pick/class-room/move",
96- // "/dsm-pick/early-return/create"
97- // ).hasRole(Role.STU.toString())
98- // .antMatchers(
99- // HttpMethod.PATCH,
100- // "/dsm-pick/application/status",
101- // "/dsm-pick/weekend-meal/my-status"
102- // ).hasRole(Role.STU.toString())
103- // .antMatchers(
104- // HttpMethod.GET,
105- // "dsm-pick/user/simple",
106- // "dsm-pick/user/details",
107- // "/dsm-pick/application/my",
108- // "/dsm-pick/application/simple",
109- // "/dsm-pick/class-room/move",
110- // "/dsm-pick/early-return/my",
111- // "/dsm-pick/meal/date",
112- // "/dsm-pick/timetable/**",
113- // "/dsm-pick/weekend-meal/my",
114- // "/dsm-pick/main"
115- // ).hasRole(Role.STU.toString())
116- // .antMatchers(
117- // HttpMethod.DELETE,
118- // "/dsm-pick/class-room/return"
119- // ).hasRole(Role.STU.toString())
35+ .antMatchers(
36+ HttpMethod .POST ,
37+ " /dsm-pick/after/**" ,
38+ " /dsm-pick/meal" ,
39+ " /dsm-pick/notice" ,
40+ " /dsm-pick/schedule/create" ,
41+ " /dsm-pick/self-study/register" ,
42+ " /dsm-pick/timetable" ,
43+ " /dsm-pick/weekend-meal/saveAll" ,
44+ " dsm-pick/status/saveAll" ,
45+ " dsm-pick/schedule/**"
46+ ).hasRole(Role .SCH .toString())
47+ .antMatchers(
48+ HttpMethod .GET ,
49+ " /dsm-pick/admin/**" ,
50+ " /dsm-pick/after/**" ,
51+ " /dsm-pick/application/reason/all" ,
52+ " /dsm-pick/application/status" ,
53+ " /dsm-pick/application/floor" ,
54+ " /dsm-pick/application/grade" ,
55+ " /dsm-pick/application/all" ,
56+ " /dsm-pick/story/**" ,
57+ " /dsm-pick/class-room/floor" ,
58+ " /dsm-pick/class-room/grade" ,
59+ " /dsm-pick/early-return/grade" ,
60+ " /dsm-pick/early-return/floor" ,
61+ " /dsm-pick/early-return/reason/ok-all" ,
62+ " /dsm-pick/early-return/ok" ,
63+ " /dsm-pick/early-return/all" ,
64+ " /dsm-pick/self-study/month" ,
65+ " /dsm-pick/self-study/date" ,
66+ " /dsm-pick/self-study/admin" ,
67+ " /dsm-pick/weekend-meal/all" ,
68+ " /dsm-pick/weekend-meal/quit" ,
69+ " /dsm-pick/weekend-meal/hey" ,
70+ " /dsm-pick/status/**" ,
71+ " /dsm-pick/user/all"
72+ ).hasRole(Role .SCH .toString())
73+ .antMatchers(
74+ HttpMethod .PATCH ,
75+ " /dsm-pick/application/**" ,
76+ " /dsm-pick/early-return/**" ,
77+ " /dsm-pick/notice/modify" ,
78+ " /dsm-pick/status/change" ,
79+ " /dsm-pick/weekend-meal/status" ,
80+ " dsm-pick/schedule/modify" ,
81+ " dsm-pick/after/change" ,
82+ " /dsm-pick/class-room/status"
83+ ).hasRole(Role .SCH .toString())
84+ .antMatchers(
85+ HttpMethod .DELETE ,
86+ " /dsm-pick/after/**" ,
87+ " /dsm-pick/notice/delete/" ,
88+ " /dsm-pick/schedule/delete/" ,
89+ " /dsm-pick/after/delete"
90+ )
91+ .hasRole(Role .SCH .toString())
92+ .antMatchers(
93+ HttpMethod .POST ,
94+ " /dsm-pick/application" ,
95+ " /dsm-pick/class-room/move" ,
96+ " /dsm-pick/early-return/create"
97+ ).hasRole(Role .STU .toString())
98+ .antMatchers(
99+ HttpMethod .PATCH ,
100+ " /dsm-pick/application/status" ,
101+ " /dsm-pick/weekend-meal/my-status"
102+ ).hasRole(Role .STU .toString())
103+ .antMatchers(
104+ HttpMethod .GET ,
105+ " dsm-pick/user/simple" ,
106+ " dsm-pick/user/details" ,
107+ " /dsm-pick/application/my" ,
108+ " /dsm-pick/application/simple" ,
109+ " /dsm-pick/class-room/move" ,
110+ " /dsm-pick/early-return/my" ,
111+ " /dsm-pick/meal/date" ,
112+ " /dsm-pick/timetable/**" ,
113+ " /dsm-pick/weekend-meal/my" ,
114+ " /dsm-pick/main"
115+ ).hasRole(Role .STU .toString())
116+ .antMatchers(
117+ HttpMethod .DELETE ,
118+ " /dsm-pick/class-room/return"
119+ ).hasRole(Role .STU .toString())
120+ .antMatchers(
121+ HttpMethod .GET ,
122+ " /dsm-pick/application/non-return"
123+ ).hasAnyRole(Role .SCH .toString(), Role .SEC .toString())
124+ .antMatchers(
125+ HttpMethod .GET ,
126+ " /dsm-pick/weekend-meal/excel"
127+ ).hasAnyRole(Role .SCH .toString(), Role .COOK .toString())
120128
121129 http
122130 .apply (FilterConfig (objectMapper, jwtTokenProvider))
0 commit comments