2017년 3월 31일 금요일

spring security option

 다음은 antMatchers() 다음으로 지정할 수 있는 항목들입니다.
  • anonymous()
    인증되지 않은 사용자가 접근할 수 있습니다.
  • authenticated()
    인증된 사용자만 접근할 수 있습니다.
  • fullyAuthenticated()
    완전히 인증된 사용자만 접근할 수 있습니다(?)
  • hasRole() or hasAnyRole()
    특정 권한을 가지는 사용자만 접근할 수 있습니다.
  • hasAuthority() or hasAnyAuthority()
    특정 권한을 가지는 사용자만 접근할 수 있습니다.
  • hasIpAddress()
    특정 아이피 주소를 가지는 사용자만 접근할 수 있습니다.
  • access()
    SpEL 표현식에 의한 결과에 따라 접근할 수 있습니다.
  • not() 접근 제한 기능을 해제합니다.
  • permitAll() or denyAll()
    접근을 전부 허용하거나 제한합니다.
  • rememberMe()
    리멤버 기능을 통해 로그인한 사용자만 접근할 수 있습니다.

2017년 3월 30일 목요일

javascript submit 후 close, reload 문제해결방법

1. ajax로 해결
2. form 전체를 넘길시 serialize()함수 이용 
여기서 중요한 것은 꼭 contentType 설정을 해줘야한다

var formData = $("#frm").serialize();

$.ajax({
type : 'POST',
url : '/save',
data: formData,
contentType: 'application/x-www-form-urlencoded; charset=UTF-8'
}).success(function(res) {
parent.opener.location.reload();
window.open('', '_self', '').close();
}).error(function(err) {
$.stateAlarm(err.message);
});

2017년 2월 8일 수요일

리눅스 OS 버전 및 파일 검색

현재 하위폴더 포함하여 파일 개수 세기
find -name '*.*'  or find ./ -name '*.*'

폴더삭제
rm -rf 폴더

아파치 WEB 서버 확인
1. 아파치 설치폴더 확인: find / -name httpd.conf  
2. bin 폴더 접근
3. ./httpd -v 버전 확인

리눅스OS 확인
1. grep . /etc/*-release
  (/etc/system-release:CentOS release 6.5 (Final) 이런식으로 나옴)
  
톰캣 확인
1  find / -name tomcat*.* 톰캣 설치 폴더 확인
2  톰켓 bin 폴더에 접근하여  ./catalina.sh version 확인

MYSQL 확인
1. SELECT version(); 

2017년 1월 30일 월요일

linux 마운트, L4 개념

mount 개념
리눅스에서 여러가지 하드웨어장치들을 사용하려면 리눅스 서버에 인식을 시켜야 하는데 이를 가능하게 해주는 것이 마운트(mount) 입니다. 우리가 사용하는 윈도우에서는 플로피나 CD-ROM 과 같은 하드웨어 장치들은 시스템이 부팅되면서 거의 대부분 자동으로 인식되며 부팅 후에는 바로 사용할 수가 있습니다. 또한 새로 설치한 하드웨어 장비는 PnP(Plug and Play) 라는 기능에 의해 대부분 자동으로 인식하게 됩니다. 물론, 리눅스에서도 PnP 기능을 지원하지만 하드디스크 추가 작업시 또는 CD-ROM 등과 같은 장치들은 시스템 부팅후에 수동으로 마운트(mount) 작업을 통해 사용 해야 합니다.

  쉽게 설명해서 마운트는 특정 디바이스를 사용하기 위해 하드웨어장치와 디렉토리를 연결하는 작업을 말합니다.


L2 : OSI 레이어 2에 속하는 MAC 어드레스를 참조하여 스위칭하는 장비
(media access control address): 랜카드를 구별하기 위한 식별 번호 L3 : OSI 레이어 3에 속하는 IP주소를 참조하여 스위칭하는 장비
(ip:컴퓨터가 인터넷 세계로 나아가기 위한 자신의 번호) L4 : OSI 레이어 3~4에 속하는 IP 주소 및 TCP/UDP 포트 정보를 참조하여 스위칭하는 장비

L7 : OSI 레이어 3~7에 속하는 IP 주소, TCP/UDP 포트 정보 및 패킷 내용까지 참조하여 스위칭함





L4
설명 : L4 Switch ->로드밸런싱을 함
L4 에서는 4 레이어의 프로토콜인 TCP/UDP 등에서 스위칭을 수행하므로 
TCP와 UDP 등의 헤더를 보고 그것이 FTP 인가 HTTP 인가 SMTP 인가를
보고 어떤 것을 우선시해서 스위칭할지 판단할 수 있다. 즉 로드 밸런싱이 
가능해진다는 얘기인데 이는 L3 이하에서는 불가능한 것이다. 

L4의 핵심은 'IP, 포트, 세션' 을 기반으로한 로드 밸런싱(Load Balancing)이다!


L7
L7 스위치는 OSI 의 7 레이어 즉 어플리케이션 레이어에서 동작하는 것으로
이를테면 이메일의 제목이나 문자열을 보고 내용을 파악한다거나 
HTTP 의 URL, 또는 FTP의 파일명, 쿠키 정보, 특정 바이러스의 패턴 등을
분석해서 보안에 더욱 유리하고 더욱 정교한 로드 밸런싱이 가능해진다.
사실 어플리케이션 레벨의 데이터를 다 다룬다는 것은 불가능하고
L7 스위치는 단지 패킷의 내용을 조금 더 참조하여 약간 intelligent 한
결정을 내릴 수 있게 된 것 뿐이다. 쉽게말해 L7 스위치라는 것은 마케팅용어라고
볼 수 있다.

2016년 12월 29일 목요일

스프링 MVC STATIC 폴더 설정

보통 images ,js, css 파일의 경우 static으로 폴더를 따로 빼서 구분하는데
ex)webapp/static/js

Spring mvc의 경우 처음 세팅에 이걸 허용해 놓지 않아서 따로 허용해줘야한다 

하는 방법은 servlet-context.xml 파일 내에 기존의 resources 설정 되있는곳에 추가로 작성하면 된다

<mvc:resources mapping="/resources/**" location="/resources/" />
<mvc:resources mapping="/static/**" location="/static/" />
<mvc:resources mapping="/robots.txt" location="/robots.txt" />