inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 시큐리티 완전 정복 [6.x 개정판]

인가 설정 실시간 반영하기

섹션15 인가 DB 연동부분

239

류혜상

작성한 질문수 4

0

안녕하세요 강사님,
강의를 수강중인 수강생입니다.

궁금한 사항이 있어 질문드립니다.

PersistentUrlRoleMapper의 getUrlRoleMapping를 확인해보면 결국 urlRoleMappings 변수의 key value부분이


SecurityFilterChain의 requestMatchers("/admin/**").hasAuthority("ROLE_ADMIN")이 되는것 같습니다.

예를들어 컨트롤러 쪽 api 호출시
/admin/select 는 ROLE_MANAGER, ROLE_ADMIN 접근 가능하며
/admin/insert ROLE_ADMIN만 호출을 허락하려고하면
JPA나 쿼리를 수정해서 urlRoleMappings 에 매핑하면 될지 궁금하여 질문드립니다.

현재 업무중의 테이블이 Role 과 Menu가 있고,
Role과 Function이라는 테이블이 있어서,
Menu접근에 권한과 Menu하위에 기능별로 다르게 권한을 동적으로 주려고하다보니 해당부분을 수정하면 될것 같아서 질문을 드립니다.


public class PersistentUrlRoleMapper implements UrlRoleMapper{

    public PersistentUrlRoleMapper(ResourcesRepository resourcesRepository) {
        this.resourcesRepository = resourcesRepository;
    }
    @Override
    public Map<String, String> getUrlRoleMappings() {
        urlRoleMappings.clear();
        List<Resources> resourcesList = resourcesRepository.findAllResources();
        resourcesList.forEach(re -> {
            re.getRoleSet().forEach(role -> {
                urlRoleMappings.put(re.getResourceName(), role.getRoleName());
            });
        });
        return urlRoleMappings;
    }
}

spring spring-boot spring-security security web-security

답변 1

0

정수원

강의에서 설명하고 있는 내용을 참고로 하면 다른 로직을 구성하는데 도움이 될 수 있습니다.

질문하신 부분에 대해서는 DB 설계나 전체 구조에 대한 이해를 바탕으로 해야 하기 때문에 여기서 답변드리기가 어려운 점이 있습니다.

PersistentUrlRoleMapper 와 ResourcesRepository 에 를 중심으로 변경이 되어야 할 것 같습니다.

 

로그아웃-logout()-2 강에서 겟방식 로그아웃 호출 후 화면이동 질문입니다.

0

36

2

단원별 소스코드

0

65

2

CustomAuthenticationProvider 추가 관련 문의

0

78

2

AOP 의존성 명칭 변경

0

77

1

빈 1개 등록 시 다른 해결 방법

0

70

1

@Bean으로 AuthenticationProvider를 등록 시 http.authenticationProvider 함수를 이용해서 추가해줘야되나요?

0

87

2

OIDC의 id token에 담긴 데이터에 대해

0

78

1

loginPage("/loginPage") 질문드립니다.

0

69

1

@EnableWebSecurity

0

148

1

트랜잭션과 롤백

0

100

1

68. 인증 이벤트 - AuthenticationEventPublisher 활용 강좌 음성 문제

0

91

2

AuthenticationManager 사용 방법

0

153

2

HttpSecurity.authorizeHttpRequests() - 2 강의 부분에 대한 질문

0

108

2

spring security 6.3에서는 HttpSecurity가 만들어지기 전 WebSecurity가 먼저 만들어지는게 맞나요??

0

192

1

init(B Builder), configure(B builder) 에 대하여 질문 드립니다.

0

109

2

메타 주석 질문

0

69

1

동시세션제어 기능에서 로그아웃하기

0

152

3

로그인 후, redirect 에서 error

0

140

3

Session 생성 타이밍에 대한 질문

0

86

2

강의 참고 내용을 개발 로그로 작성해도 될지 문의드립니다.

0

135

2

customAuthentication 관련

0

132

2

authenticationManagerBuilder 주입받은거 vs 만든 거

0

114

1

UserDetailsService()에서 UserDetail이 아닌 타입을 반환할 수 있나요?

0

101

1

9:28 패턴 3의 경우 마지막으로 설정한 것만 적용되는 것 같습니다.

0

162

2