반응형



STS 에서 Subversive 를 subversion client 로 사용중인데 커밋시 다음과 같은 에러가 발생한다.

svn: E200007: Commit failed (details follow):
svn: E200007: CHECKOUT can only be performed on a version resource [at this time].
svn: E175002: CHECKOUT request failed on '/book/!svn/rvr/3/myprog.jsp'

 

원인은 pure Java 로 구현된 svn library 인 SVNKit 의 버그이다. 해당 버그가 수정되기 전에 다음 action 을 통해 간단하게 해결할 수 있다.

  • STS 나 eclipse 메뉴에서 오른쪽 클릭
  • project -> team 메뉴 선택
  • cleanup / refresh 수행

 

Ref


728x90
반응형

[javascript] input태그 자동 대문자 변환시키기

특정 input태그에 알파벳을 들어갈때 무조건 대문자로 들어 가야하는 경우가 있다. 이럴 경우 javascript의 bind함수를 이용하여 이벤트를 걸 수 있다. bind함수 속성에 keyup 속성을 이용하여 사용자가 알파벳을 입력하면(키보드를 누른 후) 해당 엘리먼트의 값이 동적으로 대문자로 변경하도록 로직을 쓰면 된다.

엘리먼트가 지속적으로 데이터를 확인해야하기 때문에 $(document).ready()안에 정의를 해야한다.

$(document).ready(function(){
   
   $('#element_id').bind("keyup", function(){
       $(this).val($(this).val().toUpperCase());
  });
   
});


728x90
반응형

1. 스프링 시큐리티란?

스프링 시큐리티는 스프링 기반의 어플리케이션의 보안(인증과 권한)을 담당하는 프레임워크이다. 만약 스프링시큐리티를 사용하지 않았다면, 자체적으로 세션을 체크하고 redirect 등을 해야할 것이다. 스프링 시큐리티는 보안과 관련해서 체계적으로 많은 옵션들로 이를 지원해준다. spring security는 filter 기반으로 동작하기 때문에 spring MVC 와 분리되어 관리 및 동작한다. 참고로 security 3.2부터는 XML로 설정하지 않고도 자바 bean 설정으로 간단하게 설정할 수 있도록 지원한다.

여기서는 현재기준 최신버전인 스프링 4.3.18과 시큐리티 4.2.7을 가지고 진행했다.

보안관련 용어부터 정리하자

  • 접근 주체(Principal) : 보호된 대상에 접근하는 유저
  • 인증(Authenticate) : 현재 유저가 누구인지 확인(ex. 로그인)
    • 애플리케이션의 작업을 수행할 수 있는 주체임을 증명
  • 인가(Authorize) : 현재 유저가 어떤 서비스, 페이지에 접근할 수 있는 권한이 있는지 검사
  • 권한 : 인증된 주체가 애플리케이션의 동작을 수행할 수 있도록 허락되있는지를 결정
    • 권한 승인이 필요한 부분으로 접근하려면 인증 과정을 통해 주체가 증명 되어야만 한다
    • 권한 부여에도 두가지 영역이 존재하는데 웹 요청 권한, 메소드 호출 및 도메인 인스턴스에 대한 접근 권한 부여

2. spring security 의 구조

2-1. 인증관련 architecture



출처: https://sjh836.tistory.com/165 [빨간색코딩]


3. 실습

1. pom.xml 에 depencency 추가 

<dependency>

<groupId>org.springframework.security</groupId>

<artifactId>spring-security-config</artifactId>

<version>3.2.5.RELEASE</version>

</dependency>


<dependency>

<groupId>org.springframework.security</groupId>

<artifactId>spring-security-core</artifactId>

<version>3.2.5.RELEASE</version>

</dependency>


<dependency>

<groupId>org.springframework.security</groupId>

<artifactId>spring-security-web</artifactId>

<version>3.2.5.RELEASE</version>

</dependency>


<dependency>

<groupId>org.springframework.security</groupId>

<artifactId>spring-security-taglibs</artifactId>

<version>3.2.4.RELEASE</version>

</dependency>

2. web.xml > context 추가 &  filter 작성

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>

/WEB-INF/spring/root-context.xml

/WEB-INF/spring/appServlet/security-context.xml

</param-value>

</context-param>           

<filter>

        <filter-name>springSecurityFilterChain</filter-name>

        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>

    </filter>

    <filter-mapping>

        <filter-name>springSecurityFilterChain</filter-name>

        <url-pattern>/*</url-pattern>

    </filter-mapping>

3. security-context.xml 에 내용 작성 (로그인/로그아웃 상태 등의 응용 로직 추가)

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:security="http://www.springframework.org/schema/security"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/security

http://www.springframework.org/schema/security/spring-security-3.2.xsd">


<security:http auto-config="true">

<security:form-login login-page="/loginForm.html"/>

<security:intercept-url pattern="/login.html*" access="ROLE_USER"/>

<security:intercept-url pattern="/welcome.html*" access="ROLE_ADMIN"/>

</security:http>

<security:authentication-manager>

<security:authentication-provider>

<security:user-service>

<security:user name="user" password="123" authorities="ROLE_USER"/>

<security:user name="admin" password="123" authorities="ROLE_ADMIN,ROLE_USER"/>

</security:user-service>

</security:authentication-provider>

</security:authentication-manager>


</beans>



[출처]https://seouliotcenter.tistory.com/89?category=663840

728x90

+ Recent posts