공부/Spring

http태그의 use-expressions

Egomi 2017. 4. 10. 12:15
* 개인 공부 공간입니다. 옳지 않은 정보일 수도 있으니 참고바랍니다. *



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
   <http use-expressions="true"> 
       <!-- 로그인 창을 알아서 마련하려면 auto-config="true"하면 자동 생성 -->
     <!-- 마이페이지는 인증 정보에따라 페이지를 분배해주는 라우터 역할 -->
      <form-login login-page="/joinus/login" 
      default-target-url="/joinus/mypage"
      always-use-default-target="true"/>
      
      <logout logout-success-url="/index"/> <!-- 로그아웃 후 이동할 경로 --> 
      <intercept-url pattern="/customer/notice-detail" access="hasRole('ROLE_USER')" />
      <intercept-url pattern="/joinus/mypage" access="hasRole('ROLE_USER')" />
      <!-- 관리자 권한 부여하기 -->
      <intercept-url pattern="/admin/**" access="hasRole('ROLE_ADMIN')" />
      
      <!-- 강사의 권한 부여하기 -->
      <intercept-url pattern="/teacher/**" access="hasRole('ROLE_TEACHER')" />
      
   </http>
cs



use-expressions="true" 가 되면, Spring El 표기법을 사용하게 된다.


 use-expressions 옵션은 사용자의 권한 뿐만 아니라, ip주소 등 검사 요소를 추가해 보안을 높여준다.


 <http use-expressions="true">
    <intercept-url pattern="/admin*"
        access="hasRole('admin') and hasIpAddress('192.168.1.0/24')"/>
    ...
  </http>

참고사이트 ) http://docs.spring.io/spring-security/site/docs/3.0.x/reference/el-access.html


주의할 점은, 기존에 access="권한" 해주었던 것을, hasRole('권한')으로 Spring El 표기법으로 바꿔줘야한다.