2014-04-28 2 views
0

저는 봄 보안에 대해 배우기 시작했습니다. 는 스프링 보안

<security:form-login always-use-default-target="false" 
    authentication-failure-url="/login.do?error=1" default-target-url="admin/admin.do" 
    login-page="/login.do?error=0" login-processing-url="/j_security_check" /> 

은 현재 로그인 된 모든 사용자가 관리자 페이지에 액세스 할 수 있습니다 것이 좋습니다. 권한 부여에 따라 관리자 페이지로 사용자를 제한해야하는 경우 (예 : 사용자가 ROLE_UPDATE ...해야 할 사항이있는 경우). 비 jee.xml 파일과 같습니다.

또는 양식을 사용하여 성공적으로 로그인 한 사용자의 "ROLE_UPDATE"를 조회하도록 응용 프로그램 코드를 변경해야합니까?

답변

0

이 질문은 오래 실현,하지만 ... 자세한 사항은 좋은 예와 설명서로 여기에서 찾을 수 있습니다 찾을 사람들을 위해 : http://docs.spring.io/spring-security/site/docs/4.0.0.RELEASE/reference/htmlsingle/#authorization

가장 일반적인 시나리오는 각 사용자에게 할당 된 역할의 컬렉션을 가지고 있다는 것입니다 그들. 그런 다음 역할별로 기능을 제한 할 수 있습니다. 그 기능은 URL 및/또는 방법 일 수 있습니다. 귀하의 예가 XML 구성을 보여주기 때문에 URL에 대한 액세스를 제한하는 XML 예제가 있습니다.

<http> 
    <intercept-url pattern="/admin/**" access="hasRole('ROLE_ADMIN')"/> 
    <form-login ... /> 
</http> 

더 복잡한 옵션이 있습니다, 그러나 이것은 당신이 시작 얻어야한다 (참고. 이것은 즉, 설정의 HTTP 섹션에의 형제 위에서 보여 양식을-로그인). 좋은 세부 정보가있는 섹션은 다음과 같습니다. http://docs.spring.io/spring-security/site/docs/4.0.0.RELEASE/reference/htmlsingle/#ns-form-and-basic