응용 프로그램에는 4 개의 역할과 페이지가 포함 된 4 개의 일치하는 폴더가 있습니다. 하나의 추가 폴더에는 여러 역할이 공유하는 페이지가 있습니다. 현재 제한이 없습니다. 테스터는 하나의 역할과 함께 사용하기 위해 책갈피를 복사하고 다른 역할로 로그인 할 때 붙여 넣음으로써 페이지에 직접 액세스 할 수 있음을 발견했습니다.스프링 보안으로 폴더의 모든 페이지를 보호하는 방법은 무엇입니까?
스프링 보안은 최소한으로 사용합니다. 데이터베이스에는 역할과 일치하는 테이블에 대한 enum이 있습니다. 사용자는 로그인 할 때 하나를 선택하여 여러 역할을 가질 수 있습니다.
나는 이와 같은 예제를 보았습니다. 이는 spring-security.xml 파일로 전달됩니다.
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/events/" access="hasRole('ROLE_ADMIN')"/>
<intercept-url pattern="/**" access="hasRole('ROLE_USER')"/>
</http>
나는 이런 식으로 코딩 싶습니다 : 로그인 한 사용자가로 정의의 역할을 포함하는 코드
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/administrator/**" access="hasRole('ROLE_ADMINISTRATOR')"/>
<intercept-url pattern="/client/**" access="hasRole('ROLE_CLIENT')"/>
</http>
:
public class LMSSession extends WebSession
는 방법이 있나요 Wicket (7.9)을 사용하여 이것을 구현합니까? 당신이 봄 보안을 사용하는 경우
'MetaDataRoleAuthorizationStrategy.authorize (.. class .., "role")'와 함께 전달 된 페이지에서 작동하지만 그렇게하지 않는 것이 좋습니다. 다른 페이지는'hasAnyRole'을 호출하지 않았습니다. – JoeAB