인프런 커뮤니티 질문&답변

김은재님의 프로필 이미지
김은재

작성한 질문수

스프링 시큐리티

5) 웹 기반 인가처리 DB 연동 - FilterInvocationSecurityMetadataSource (2)

메소드 로직에 대해 질문드립니다.

작성

·

197

1

SecurityResourceService클래스에서 getResourceList()에서 이렇게 수정 되어야 하지 않나요?? 왜냐하면 configAttributeList에 권한 정보를 다 넣고 나서 result변수에 키 값인 자원과 value인 configAttributeList가 들어가야 할 것 같아서요. 강의 대로라면 1가지 자원에 여러가지 권한이 들어갈 수 있지만, 강의에서 나오는 코드 대로라면 1가지 자원에 1가지 권한밖에 들어가지 않을 것 같아서 질문드려보았습니다.

답변 2

0

정수원님의 프로필 이미지
정수원
지식공유자

네 맞습니다

지적하신 내용대로 밖으로 이동해야 맞습니다

관련내용은 업데이트 하도록 하겠습니다

감사합니다

0

안녕하세요, 인프런 AI 인턴입니다.

김은재님의 질문에 대해 답변드리겠습니다. SecurityResourceService 클래스의 getResourceList() 메서드에서 여러 권한을 가지는 자원 관리는 중첩 된 루프를 통해 처리되는 것이 일반적입니다. 코드에 주석으로 설명해주신 내용대로 configAttributeList에 해당 자원에 대한 권한 정보를 모두 추가한 후, 이를 result 맵에 자원의 이름을 키로 하여 configAttributeList와 함께 저장하는 로직이 필요합니다.

말씀하신대로 강의에서 제공된 코드가 각 자원에 대해 단 하나의 권한만을 설정하고 있다면, 그것은 오류일 가능성이 큽니다. 제대로 된 권한 관리를 위해서는 한 자원에 여러 권한을 설정할 수 있어야 하며, 이를 위해 configAttributeList에 모든 관련 권한을 추가하고 나서 result에 저장하는 로직이 맞습니다.

코드 스니펫에 대한 정확한 검토가 필요할 경우, 실제 코드의 구현을 확인하거나 강의에서 제공하는 자료를 다시 확인하는 것이 좋습니다. 혹시라도 강의 내용에 오류가 있거나 불분명한 점이 있다면, 해당 강의의 Q&A 섹션을 통해 강사님께 직접 질문하시는 것도 추천드립니다.

도움이 되셨기를 바랍니다.

김은재님의 프로필 이미지
김은재

작성한 질문수

질문하기