GuestBook
-
incognito
2010/03/11 08:29 MOD / DEL REPLY안녕하세요~ 저는 네트워크쪽 일을 하고 있는 엔지니어입니다. ^^
L2~L3를 담당하다가
최근에 L4~L7파트를 맡게 되어서 갑자기 서버 및 웹쪽 지식이 많이 필요 하게 되었는데
아주 잘 보고 갑니다
앞으로도 자주 들리겠습니다
아 그리고 만약에 http compression등을 해주는 가속기가 있는데
성능을 고려하지 않는다면 Application/pdf같은 것도 압축해서 보내는게 좋을까요??
지금은 기본적인 Text/plain,css,html,xml Application/xml, x-javascript, vnd.ms-excel, msword
정도를 압축하고 있습니다.
pdf를 압축해서 보냈을 때 서버쪽말고 사용자측에서 불편을 느끼는 사항이 있을까요? -
SilkRoad
2010/03/10 11:57 MOD / DEL REPLY안녕하세요.
스프링 씨큐리티에 대해 궁금한 점이 있어 글을 씁니다.
2.0.x 버전을 쓰려고 하고 있구요..
초기부터 씨큐리티를 염두해 둔 것이 아니라서 막바지에 적용하려 하니 여간 힘든 것이 아니네요.
1. DB구조, 그러니까 퍼시스턴스쪽을 전혀 터치 안하고 프로그램단에서 ROLE_... 시작하는 권한을 줄 수 있는 방법을 못 찾겠습니다.;
2. 기존의 로그인 프로세스 (j_username, j_password 쓰지 않고) 를 사용하면서 권한 체크하는 방법이 있을까요??? 물론, 1번이 선결 과제여야 하겠죠;;
3. j_spring_security_check 를 쓴다면.. j_username, j_password 말고 다른 파라미터를 받는 방법이 있나요?? 예를 들면 계정유형 데이터를 전달하는 파라미터가 있다면... 어떻게 받는지요...
씨큐리티 어렵네요..
좋은 하루 되세요~
빠른 답변 감사합니다.
많은 도움이 되었습니다.^^-
기선
2010/03/09 18:34 MOD / DEL1. ROLE_을 붙여주는 지점을 물어보시는 것 맞는지 몰겠네요.
시큐리티 설정 중에 authenticationmanager에 userDetailService를 설정하는 부분이 있을 겁니다.
<authentication-manager alias="authenticationManager">
<authentication-provider user-service-ref="springSproutUserDetailsService">
<password-encoder ref="passwordEncoder"/>
</authentication-provider>
</authentication-manager>
3.0에서는 위와 비슷할 껀데요. 저기 보이는 springSproutUserDetailsService의 생성자가 다음과 같이 생겼습니다.
public SpringSproutUserDetail(Member member) {
this.member = member;
Set<Role> roles = member.getRoles();
if(roles == null || roles.size() == 0) return;
authorities = new ArrayList<GrantedAuthority>();
for(Role role : roles){
authorities.add(new GrantedAuthorityImpl("ROLE_" + role.getName().toUpperCase()));
for(Right right : role.getRights())
authorities.add(new GrantedAuthorityImpl("RIGHT_" + right.getName().toUpperCase()));
}
}
이 코드는 봄싹 코드입니다.
2, 3 별도의 로그인 처리 프로세스를 태우고 싶으신가보네요?
로그인 폼에서 submit을 시큐리티의 기본 URL로 보내지 마시고 SilkRoad님께서 원하는 핸들러로 보내시기 바랍니다.
그 안에서 추가적인 매개변수 받아서 어쩌구 저쩌구 한 다음에 아래에 나와있는 페이지를 보시고 로그인 처리를 하시면 되겠습니다.
http://static.springsource.org/spring-security/site/docs/3.0.x/reference/technical-overview.html#tech-intro-authentication
위 문서를 보시고 컨트롤러에 AuthenticationManager(AM) 타입의 빈을 주입하고 컨트롤러의 매개변수에서 가져온 username과 password를 가지고 UsernamePasswordAuthenticationToken 객체를 만들어서 AM.authenticate()를 호출해주신 다음.. 반환 받은 코드를 시큐리티 컨텍스트에 넣어주시는 겁니다.
Authentication request = new UsernamePasswordAuthenticationToken(name, password);
Authentication result = am.authenticate(request);
SecurityContextHolder.getContext().setAuthentication(result);
원래는 이 작업을 j_spring_security_check 요청을 처리하는 시큐리티 내부에서 하겠지만.. 직접 해주셔야겠죠.
아니면 필터를 이용할 수도 있겠는데;; 저는 저 방법이 더 간단해 보입니다.
-
-
jzero2
2010/03/06 16:35 MOD / DEL REPLYweb.xml 의 스키마 버전을
http://java.sun.com/dtd/web-app_2_3.dtd 에서
http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
로 바꾸어서 해결하였습니다.
기존소스 가져올 일이 있어서 엎어쓰여졌나 봅니다.
EL 이 안먹히는 이유가 스키마를 컨테이너 버전에 맞지 않는 것으로 사용하여서 그런 것으로 보입니다
2_5 버전을 사용한 이후에도 똑 같은 페이지를 1.jsp, 2.jsp 로 복사하여서 테스트 하였을 경우,
어떤 것은 되고, 어떤 것은 안되는 현상이 있었습니다만
이상한 것이 시스템을 reboot 시키고 난 뒤에 둘 다 되는군요.
시스템에도 문제가 있는 것인지 좀 난감하네요.
이건 제 시스템이 좀 특수한 상황에 걸렸던 것으로 생각하고 좀 더 테스트를 해봐야 할 듯 합니다.
초보적인 실수 때문에 괜히 잠깐이나마 힘들게 해 드린거 아닌가 모르겠네요.
관심 감사드리고 즐거운 하루 보네세요. -
jzero2
2010/03/05 19:42 MOD / DEL REPLY답변 감사드립니다.
이상한건 아래
<td>${s1}</td>
<td>${fn:length(s1)}</td>
를 사용한 것은 sample page 를 그대로 가져다 놓은 것인데요.
그게 그냥 jsp 로 두면 처리가 되다가
/WEB-INF/jsp/ 안에 다 두면 "${s1}" 문자열 그대로 찍히는 것이지요.
그래서 navigation 의 소스보다는 spring 설정을 의심하고 있습니다.
현재는 태그 핸들러 내의 pageContext 객체 와
필요에 따라서는 <%= ~~ %> 도 같이 사용해서 값을 전달하고 있는 중입니다.
pageContext 로만 사용하면 변수 명을 fix 해 버리게 되어서 파라메터로 다 받으려했던 거구요.
즐거운 하루 되세요 ^^-
기선
2010/03/05 21:38 MOD / DEL아. 제가 질문을 잘못 이해했었군요.
특정 태그에서 EL이 안먹힌다는게 아니라..
스프링 뷰 리졸버를 통해서 뷰로 접근하면 EL이 안먹힌다는 말씀이군요.
그런데 스프링 뷰 리졸버는 EL 사용을 통제할 수 있는 무언가가 없습니다. 그냥 ModelAndView에 담겨있는 View 이름을 사용해서 원하는 실제 뷰를 찾아주는 역할을 할 뿐인데요.
아무런 에러도 없이 그냥 ${name} 이런식으로 화면에 출력이 되나요???
흠.. 희한하네요; 보통은 EL이 제대로 안먹히면 일단 에러라도 나기 마련인데.. EL이 그냥 문자열처럼 출력되다니. 흠..@_@;; 그것도 잘 되던게;; 스프링을 타고 가면 안 되다니.. 미스테리네요.
어쨋든 문의하신 설정에서 별달리 이상한건 보이지 않습니다.
그럼 혹시 뷰 리졸버의 prefix를 /WEB-INF/로 변경 하시고 index.jsp파일을 /WEB-INF/ 밑에 두시면 어떤가요? /WEB-INF/jsp/가 아니라 말이죠.
어떻게 될지 궁금합니다.
-
-
jzero2
2010/03/04 21:53 MOD / DEL REPLY안녕하세요.
Spring Template 으로 개발을 하려고 합니다.
기존 struts 방식 때 사용했던 방식처럼
커스텀 테그 에 EL 를 사용하려고 하는데 오류가 나네요.
Controller 에서 "listCount" 에 Integer 값 을 넣은 후
view 에서 <page1:navigation totalCount="${listCount}"/> 를 사용하였습니다.
안되는 것이 이상하여 테스트 로 아래 페이지를 돌려봤습니다.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<html>
<head>
<title>JSTL Functions ? Length</title>
</head>
<body bgcolor="#FFFFFF">
<c:set var="s1" value="There is a castle on a cloud"/>
<table cellpadding="5" border="1">
<tr>
<td>${s1}</td>
<td>${fn:length(s1)}</td>
</tr>
</table>
</body>
</html>
index.jsp 로 만들어 홈에 놔두었더니 잘 됩니다만
/WEB-INF/JSP/ 안에 있을 경우 ${s1} ${fn:length(s1)} 문자열이 그대로 찍히고 맙니다.
물론 <c:out value="${listCount}" /> 는 정상적으로 됩니다만
이 방법으로는 커스텀테그에 값을 넣을 수 없네요.
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
singleton="true" lazy-init="default" dependency-check="default" autowire="default">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix"><value>/WEB-INF/jsp/</value></property>
<property name="suffix"><value>.jsp</value></property>
</bean>
viewResolver 설정이 잘못된걸까요?
아니면 JstlView 를 이용하면 저런 식으로 사용할 수 없는건가요?
이미 다른 곳에 질문을 한 적이 있었는데 답이 없어서 이 곳까지 오게 되었습니다.
비밀번호는 1번입니다. 성격이 안맞다거나 무례한 질문이라면 삭제하셔도 좋습니다.
감사합니다.-
기선
2010/03/05 13:57 MOD / DEL<page1:navigation totalCount="${listCount}"/>
일단 저 태그를 만드신 것 같은데, 저 태그를 사용할 때 발생하는 에러 메시지를 보여주시면 더 많이 도움이 될 것 같습니다.
지금 생각나는 문제 발생 원인으로는.. 태그 파일에서 EL을 사용하지 못하게 설정이 되어 있는거 아닌가 하는 생각이 드네요.
태그 파일 선언부에 isELignored 인가 하는 속성이 있는데 그걸 false로 주시면 될 것 같기도한데 뭐 기본값으로는 EL을 사용할 수 있게 되어있으니.. 별 문제가 없을 것 같네요.
커스텀 태그로 만드신 거라면 태그 파일이랑은 반대로 명시적으로 EL을 사용하도록 코딩을 해야 하는데 그게 안 되어 있느거 아닐까요?
저 태그에서 위와 같은 문제가 있는지 확인하는 방법으로는 EL을 사용하지 않고 명시적으로 값을 넣어 보는 방법이 있겠네요. 그랬을 때 잘 동작한다면 아마도 위와 같은 문제가 거의 맞을겁니다.
<page1:navigation />
이 태그의 핸들러 코드를 살펴보시기 바래요. 아니면 EL 말고 <%= ~~ %> 를 사용해서 값을 전달할 수도 있겠네요.
저라면.. 시간이 좀 있으면 EL을 처리하도록 태그핸들러를 고칠테고, 아니면 그냥 <%= ~~ %> 이걸 사용할 것 같습니다.
-
-
공형근
2010/03/02 00:26 MOD / DEL REPLYhttp://www.ted.com/talks/lang/kor/pranav_mistry_the_thrilling_potential_of_sixthsense_technology.html
동영상이지만 박수가 절로 나오네요.
벌써 보았을 수 도 있겠지만 혹시나 해서 적어봅니다.
기술적인 접근보다 개념에서 접근 하니 저런 제품도 생각하네요.
http://springsprout.org/ 여기에 올리려고 했는데
URL이 허용길이를 초과하네요.
스터디에도 참석해야하는데... -
차인영
2010/03/01 01:47 MOD / DEL REPLY안녕하세요. 대학생 IT벤처기업 always 입니다.
이번에 저희가 기업용 커뮤니케이션 서비스 quik의 베타서비스를 실시합니다.
그래서 이렇게 파워블로거 분들 블로그에 홍보차 방문하였습니다.
많은 관심부탁드립니다.
http://blog.doday.net/category/quik -
-
김보경
2010/02/22 11:15 MOD / DEL REPLY안녕하세요.
저는 온라인 광고대행사에 근무하는 김보경이라고 합니다.
이번 저희측에서는 java 관련 서적에 대한 서평을 진행해 주실
IT 업계의 블로거분들을 섭외하고 있습니다.
본래 메일을 통해서 요청을 드리고자 하였으나, 아직 기선님의 메일주소를
알 수 없어, 이렇게 방명록에 남기게 되었습니다.
해당 자바 서적및 관련 자세한 정보에 대해 궁금하신 것이 있다면
bokyoung119@naver.com으로 메일을 보내주세요. ^^
메일 기다리겠습니다. ^^ -




