회원별 권한 설정에 대한 문의

724 views
Skip to first unread message

정용석

unread,
Dec 14, 2010, 3:14:01 AM12/14/10
to ks...@googlegroups.com
안녕하세요. 

항상 눈팅만 하며 좋은 정보를 얻고 있는 운둔형 회원입니다 -_-;;

이렇다할 방안이 떠오르지 않아 조언을 구합니다.

현재 Spring 2.5+ibatis를 이용해서 사내사이트를 개발 운영하고 있습니다. 

이번에 개편되는 작업이 회원별 페이지 권한을 줘야 하는데요....

security를 제대로 알아 못해서 어느정도 찾아보니 제가 하려는 작업과는 

잘 맞지 않는거 같아서요....

지금 생각에는 DB에서 회원별 권한 정보를 가지고 있고 로그인시 쿠키로 굽던가 해서 페이지마다 구분해야겠다 싶습니다. 허나 이러려면 각페이지마다 수정을 해야되고 해서 작업이 너무 커지네요... 그리고 왠지 시대를 역행하는듯한 기분이;;;;

혹시 좀더 좋은 방안이나 제가 알지 못하는 Spring의 다른 기능이 있다면 조언 부탁드립니다.

행복한 하루 되세요~

--
'내가 헛되이 보낸 오늘 하루는 어제 죽어간 이들이 그토록 바라던 하루이다.' - 소포클레스

노력

unread,
Dec 14, 2010, 5:41:04 AM12/14/10
to Korea Spring User Group
저도 이런 비슷한 경험이 있었는데요,
web request 시 parameter가 추가가 되어서 모든 페이지에 추가를 해야 하게될 상황이 있었습니다.

저에 경우는 대부분의 web request를 ajax 로 처리를 하였고, jquery 를 사용했습니다.
jquery plugin 중에 http://code.google.com/p/jquery-aop/ 가 있더군요.

ajax call 할때, 추가하고 싶은 parameter를 더할 수 있었습니다.

용석님 의도에 부합되는지는 잘 모르겠습니다만, 도움이 되었으면 하네요. 감사합니다.

정용석

unread,
Dec 14, 2010, 7:09:13 PM12/14/10
to ks...@googlegroups.com
감사합니다. 

jquery 를 쓰고 있었지만 aop가 있었다는건 처음알았네요.

출근하면서도 어찌해야되나 고민했었는데, 선택권을 넓혀주셔서 감사합니다. 

적용가능한지 공부하러 갑니다~

2010년 12월 14일 오후 7:41, 노력 <hjh...@naver.com>님의 말:

--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.

Yoe-Jin Yoon

unread,
Dec 14, 2010, 7:15:41 PM12/14/10
to ks...@googlegroups.com
저 같은경우에는 sso를 처리했던 경험중에서 하나의 jsp 페이지에 sso를 처리하는 부분을 담아두고 그 jsp 페이지를 권한이필요한 모든 jsp에 포함을 시켜주는 방식으로 처리를 했던 기억이 있는데요. 이런방식이 맞는지 혹은 결코 좋은방식인지는 내공이부족하여 모르겠지만 처리했던 경험을 공유합니다.

2010년 12월 15일 오전 9:09, 정용석 <libr...@gmail.com>님의 말:

블랙

unread,
Dec 14, 2010, 9:15:28 PM12/14/10
to Korea Spring User Group
안녕하세요

aop 쪽 함 보시면 해결책이 보일 수도 있을 듯한데요

혹시 각 유저 마다 접근할수 있는url 이 다르면 aop 를 이용하여

접근을 제한할수 있을것 같네요.

혹 인터셉터를 이용하여 권한 정보를 체크해 줘도 될듯도 하고요

security를 이용하면 간단하게 해결 될수도 있을듯도 하고요..

제가 지금 security를 보는 중이라 정확히 확신을 못드리지만

전체적인 흐름은 security를 적용하는게 좋을 수도 있겠네요

미숙한 답변이지만 도움이 됐으면 합니다.

wansu yang

unread,
Dec 14, 2010, 11:16:11 PM12/14/10
to ks...@googlegroups.com
간단하게  filter 나 interceptor 를 이용하는건 어떤가요?
전 DelegatingFilterProxy 와 AntPathMatcher 를 사용해서 url  별 접근 을 제어한적이 있습니다.

2010년 12월 15일 오전 11:15, 블랙 <angel...@gmail.com>님의 말:
--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.




--
===========================================================

 안녕하세요! 양완수 입니다.
+HP      : 010 2008 4167
+Email  : ywsa...@gmail.com , yang...@daumsoft.com
+
===========================================================

Sungchul Park

unread,
Dec 14, 2010, 11:19:53 PM12/14/10
to ks...@googlegroups.com

> security를 제대로 알아 못해서 어느정도 찾아보니 제가 하려는 작업과는
> 잘 맞지 않는거 같아서요....
spring security가 잘 안 맞다고 생각하신 이유를 알 수 있을까요?

고종봉

unread,
Dec 15, 2010, 1:12:31 AM12/15/10
to ks...@googlegroups.com
현재의 Security Interceptor에서는 URL 기준으로 Role과 매핑해서 그렇게 생각하시는게 아닐까요??

그렇다면,, Spring Security 로도 방법이 있을 듯 합니다. (물론 폭 넓은 이해를 필요로 합니다.. ㅠㅠ)


Security Interceptor에서 MetadataSource(롤-권한 매핑 기준 테이블이라고 보시면 될 듯..)를 참조하는데요,

기존에는 주로 web-base 이기 때문에 URL을 매핑 기준으로 삼았습니다.

대신 원하시는대로 페이지를 구분하는 방법(페이지 이름,,? ID? .. 결국 URL이 가장 적절할 듯 보입니다만..ㅎ)을 정의하고

MetadataSource와 같은데서 Role(역할)과 페이지를 매핑해주도록 하는 개념이 될 것 같습니다.

Spring Security는 부분적으로 얼마든지 오버라이딩 가능하도록 설계되어 있으므로, 필요한 부분만 재구현 하시면 될듯..


구체적인 구현 코드도 보여드리면 좋겠지만,, 시간 사정상.. 

좀더 궁금하신 내용이 있으면 말씀해주세요.


2010년 12월 15일 오후 1:19, Sungchul Park <gyu...@gmail.com>님의 말:

security를 제대로 알아 못해서 어느정도 찾아보니 제가 하려는 작업과는
잘 맞지 않는거 같아서요....
spring security가 잘 안 맞다고 생각하신 이유를 알 수 있을까요?

정용석

unread,
Dec 15, 2010, 5:01:02 AM12/15/10
to ks...@googlegroups.com
고종봉님 말씀대로 

제가 생각했던 security는  role과 url 매핑입니다. 

짧은 견해로...

user가 100명이 있다고 하면 각 유저마다 특정 role을 주고 이 유저마다 모든 url을 매핑해야 되는게 아닌가 싶습니다. 제가 이해를 잘 못해서 그런지 제가 생각해도 이건 아니지 싶어서요...

사용자, 관리자 측면이 아닌 각 유저별 고유 권한이 필요해서요...

말씀하신 MetadataSource를 찾아보고 있는데 아직 와닿지는 않네요 ㅠㅠ

2010년 12월 15일 오후 3:12, 고종봉 <mercu...@gmail.com>님의 말:

Sewon Ann

unread,
Dec 15, 2010, 5:10:45 AM12/15/10
to ks...@googlegroups.com
아래 용석님이 말씀하신 부분이 유연하기는 할텐데, 페이지가 얼마나 많은 지 모르겠지만 이런 경우 꽤 관리가 어려워지지 않을까요? 그래서 대부분 role 이라는 개념을 도입해서 관리를 좀 더 수월하게 한다고 생각합니다.

앞서 말씀하신 단순 사용자/관리자가 아닌, 권한 A는 1,2,3 이 가능하고 권한 B 는 1,4,5  가 가능하고, 사용자 김씨는 A 권한을 갖고, 사용자 박씨는 A,B 권한을 갖고. 물론 권한관계 설계는 요구사항에 따라 달라지겠지만요.

종봉님이 기존에 발표하셨던 자료를 참고하시면 도움이 되지않을까 싶은데 제가 정확한 링크를 모르겠네요.
제가 대략 정리한 내용은 아래에 있습니다.

페이지 하나하나 당 사용자 권한을 달게 되면 페이지 새로 만들 때 마다 모든 사용자에게 권한을 다 부여해야 하는 등 관리가 어렵기 때문에 권한 개념을 도입하셔야 하지 않을까 생각합니다.



2010/12/15 정용석 <libr...@gmail.com>

whites...@gmail.com

unread,
Dec 15, 2010, 5:10:48 AM12/15/10
to ks...@googlegroups.com
ACL이 필요하신건 아닌지..

BlackBerry® 에서 보냈습니다.


From: 정용석 <libr...@gmail.com>
Date: Wed, 15 Dec 2010 19:01:02 +0900
Subject: Re: 회원별 권한 설정에 대한 문의

Sungchul Park

unread,
Dec 15, 2010, 5:11:08 AM12/15/10
to ks...@googlegroups.com

> user가 100명이 있다고 하면 각 유저마다 특정 role을 주고 이 유저마다 모
> 든 url을 매핑해야 되는게 아닌가 싶습니다. 제가 이해를 잘 못해서 그런지
> 제가 생각해도 이건 아니지 싶어서요...
>
사용자 마다 롤을 부여하는 건 맞지만 사용자 마다 모든 URL을 매핑할 필요는
없습니다. 롤 = 권한으로 볼 수도 있으니까요.

> 사용자, 관리자 측면이 아닌 각 유저별 고유 권한이 필요해서요...

롤을 단순히 사용자, 관리자로 나눌 수 있지만 게시판 쓰기 권한, 게시판 삭
제 권한 같이 기능으로 나눌 수도 있습니다. 롤을 정의하기 나름이죠.

고종봉

unread,
Dec 15, 2010, 8:06:26 PM12/15/10
to ks...@googlegroups.com
저도 Role을 세분화 하는게 좋을 듯 보입니다.

기본적인 User Role외에 필요한 특별 Role A, Role B 등을 각각 나누어서 유연하게 적용할 수는 있겠죠..

물론,, 부작용은 롤-권한 매핑 테이블(ACL, MetadataSource도 비슷한 개념으로 알고 있습니다.)이 복잡해 지겠죠..


2010년 12월 15일 오후 7:11, Sungchul Park <gyu...@gmail.com>님의 말:
Reply all
Reply to author
Forward
0 new messages