2013-06-09 6 views
2

나는 Batch라는 모델 클래스가 있으며,이 인스턴스 변수에는 intake라는 인스턴스 변수가 있습니다. 내 요구 사항은 관리자 역할을 가진 사용자에게만 가치를 바꿀 수 있도록 허용하는 것입니다.최대 절전 모드는 사용자가 스프링 사용자 역할을 기반으로 값을 변경하지 못하도록 제한합니다.

제 질문은이 상황을 처리하는 가장 좋은 방법입니다. 어떤 도움이라도 대단히 감사합니다.

+0

업데이트 여기서

<global-method-security pre-post-annotations="enabled"/> 

당신은에이 주제에 대한 자세한 내용을보실 수 있습니다 Batch.intake 변수? –

답변

1

'Spring'태그가 붙은 질문이므로 스프링 보안을 사용하는 것이 좋습니다. Spring Security를 ​​사용하면 어노테이션을 통해 메소드를 보호 할 수 있습니다. 예 :

@Component 
    public class Batch { 

    private int intake; 

    @PreAuthorize("hasRole('ROLE_ADMIN')") 
    public void changeIntake(int intake) { 
     this.intake = intake; 
    } 
    } 

확인 글로벌 메소드 보안 가능도 확인 : 당신은 그냥 논리를 할 수 없습니다 http://static.springsource.org/spring-security/site/docs/3.0.x/reference/el-access.html