사용자 역할을 기반으로 컨트롤러에 대한 액세스를 제한하려고합니다. 지금은 다음과 같은 방법스프링 MVC, 메서드 수준 보안
<http use-expressions="true">
<intercept-url pattern="/**" access="hasRole([ROLE_ADMIN,ROLE_USER])" />
</http>
에 security.xml 파일을 사용하지만 이런 식으로하고 싶지 해달라고 할 수 있습니다. 제어기 태그 오히려 제가
<http use-expressions="true">
<intercept-url pattern="/**" access="isAuthenticated()"/>
</http>
물품되고 컨트롤러
@RequestMapping("/test")
@PreAuthorize("hasRole('ROLE_USER')")
public String test() {
return "test";
}
@RequestMapping("/testadmin")
@PreAuthorize("hasRole('ROLE_ADMIN')")
public String testAdminPage() {
return "testadmin";
}
해주기 ROLE_USER 모두 (ROLE_ADMIN & ROLE_ 사용자)에 액세스 할 수있다. 이게 문제 야. 을 기반으로하고 testadmin.jsp
은 ROLE_ADMIN 유형 사용자 만 볼 수 있으며 test.jsp
은 "ROLE_USER"유형 사용자 만 볼 수 있습니다.
xml 파일에 액세스 코드를 쓰는 대신 요약하면 컨트롤러에서 제어하려고합니다.
어떻게해야합니까 ??
정확히 작동하지 않는 이유는 무엇입니까? –
ROLE_USER는 (ROLE_ADMIN & ROLE_ USER) 태그 컨트롤러에 액세스 할 수 있습니다. 이것은 문제입니다 – LynAs