0

나는 간단한 웹 앱을 테스트하고있다. 그것은 관리자와 일반 사용자의 두 단계로 구성됩니다. 이 프로젝트에는 또한 세 개의 항목이 있습니다. 내가 성취하려고하는 것은 사용자가 첫 번째 엔티티를 만들 수 있지만 엔티티에서 엔트리를 삭제할 수없는 인스턴스입니다.Spring Roo Authority Levels

나는 @RequestMapping을 사용하여이를 구현하는 방법이라고 생각하지만 구현 방법을 잘 모르겠다면 다른 방법이 있습니까? 스 니펫 코드가 도움이 될 것입니다.

미리 감사드립니다.

답변

0

사용자 인터페이스를 통한 액세스 만 차단하고 컨트롤러를 통해 삭제 방법을 호출하지 못하도록하면보기 jspx 파일의 삭제 버튼을 숨길 수 있습니다. 추가 메소드를 사용하여 사용자가 특정 조작을 수행하는 것을 제한 할 수도 있습니다.

1. 사용자 인터페이스

그러나, 당신은 확인 인증되지 않은 사용자가 삭제 작업을 수행하지 마십시오 확인하기 위해 컨트롤러에서 수동 검사를 수행해야합니다.

이 경우, 먼저 Spring Security JSP 태그 라이브러리 네임 스페이스를 jspx 파일로 가져와야합니다.

xmlns:sec="http://www.springframework.org/security/tags" 

그런 다음 사용자 수준에서 표시해야하는 요소를 둘러싸 기 위해 방금 가져온 스프링 보안 태그를 사용하십시오. 예를 들어

:

<sec:authorize access="hasRole('ROLE_ADMIN')"> 
     <p>User is an administrator</p> 
     <!-- Delete button goes here --> 
    </sec:authorize> 

태그 라이브러리에 대한 자세한 내용은 다음 웹 사이트를 방문하십시오 http://static.springsource.org/spring-security/site/docs/3.0.x/reference/taglibs.html

2. 사용자를 누가하지 못하도록하기 위해 URL을 차단할 수 있도록

컨트롤러 applicationContext-security.xml

에 다음을 추가하여 ROLE_ADMIN을 추가하십시오.
<intercept-url pattern="/countries/**" access="hasRole('ROLE_ADMIN')" method="DELETE"/> 

그래도 문제가 해결되지 않으면 다음 링크로 이동해보십시오. 봄 보안 방문 http://static.springsource.org/spring-security/site/petclinic-tutorial.html

환호에 흥미로운 튜토리얼

http://forum.springsource.org/showthread.php?123781-intercept-url-method-attribute-not-work-with-put-and-delete

.