일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- mybatis
- LOG4J
- wildfly
- Spring
- JavaScript
- IntelliJ
- dbeaver
- intellijIDEA
- gson
- kubectl
- NCP
- VSCode
- database
- JPA
- useEffect
- log4j2
- Git
- springboot
- Kubernetes
- jetbrains
- Windows
- tibero
- react
- Java
- nginx
- gradle
- MySQL
- nodejs
- docker
- BPMN
- Today
- Total
목록Spring (35)
두 손끝의 창조자
의존성 넣기 org.apache.maven.plugins maven-source-plugin 3.2.0 maven-plugin 플러그인 넣기 org.apache.maven.plugins maven-source-plugin attach-sources jar 실행 mvn package maven.apache.org/plugin-developers/cookbook/attach-source-javadoc-artifacts.html Maven – Cookbook - How to attach source and javadoc artifacts maven.apache.org
MSC000001: Failed to start service jboss.module.service. Spring 4 버전으로 다운그레이드 필요
Spring MVC를 사용하고 보안을 위해 스프링 시큐리트를 도입했다면 볼 수 있는 예외 스프링 시큐리티의 HttpSecurity 설정 중 matcher로 MvcRequestMatcher를 사용하면 발생한다. http.authorizeRequests( authorize -> authorize .mvcMatchers("/api/").permitAll() .mvcMatchers("/hello").permitAll() .mvcMatchers("/admin").authenticated() ) No bean named 'A Bean named mvcHandlerMappingIntrospector of type org.springframework.web.servlet.handler.HandlerMappingIntr..
A 테스트 클래스에서는 @ContextConfiguration(classes = {AppConfig.class}) 형태로 컨택스트를 가져오고 B 테스트 클래스에서는 @ContextConfiguration(/applicationContext.xml 형태로 컨택스트를 가져오도록 설정했을 때, A와 B클래스 테스트 실행 순서에 따라서 AppConfig 클래스 설정정보를 먼저 로드하거나 applicationContext.xml 의 설정정보를 로드하게 된다. 문제는 두 설정 정보가 똑같다면 상관없지만 다르다면 A또는 B테스트에서 설정이 정확하게 세팅이 안된다. 왜냐하면 컨텍스트 두개를 동시에 불러서 테스트 컨텍스트에 올리지 않기 때문에다. 먼저 올라온 놈이 먼저 세팅되고 하나는 무시된다. 이 문제를 해결하기 위해..
web.xml에 두 필터를 설정할 때 순서가 매우 중요하다. Spring-Session이 먼저, Spring-Security가 이어서 와야한다.
http .authorizeRequests() .accessDecisionManager(applicationContext.getBean("accessDecisionManager", AccessDecisionManager.class)) http .authorizeRequests() .accessDecisionManager(accessDecisionManager()) 어느 방법이 효율적일까? accessDecisionManager()으로 호출해도 새로운 객체가 생성되지는 않는다. 왜일까?
시스템이 초기화되면서 AccessDecisionManager에 등록된 Voter가 Configuration에서 설정한 속성을 지원하는지 검사하도록 되어있다. 같은 코드임에도 불구하고 XML로 정의하면 정상동작하고, Java Config로 정의하면 실패했다. @Override public boolean supports(ConfigAttribute attribute) { return attributes.contains(attribute.getAttribute()); } XML로 정의할 때 use-expressions="false" 로 넣어주면 attribute.getAttribute()로 access 에 넣었던 값, 또는 표현식을 가져올 수 있었는데 Java Configuration에서는 null 이 리턴되..
HttpSecurity는 네임 스페이스 구성에있는 Spring Security의 XML 요소와 유사합니다. 특정 http 요청에 대해 웹 기반 보안을 구성 할 수 있습니다. 기본적으로 모든 요청에 적용되지만 requestMatcher (RequestMatcher) 또는 기타 유사한 메소드를 사용하여 제한 할 수 있습니다. @Configuration @EnableWebSecurity public class FormLoginSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests().antMatche..
org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration은 WebSecurity를 사용하여 Spring Security에 대한 웹 기반 보안을 수행하고 Spring Security Filter Chain이라고 부르는 FilterChainProxy를 만든다. 그런 다음 필요한 Bean을 내 보냅니다. WebSecurityConfigurerAdapter를 확장하여 구성으로 노출하거나 WebSecurityConfigurer를 구현하고이를 구성으로 노출하여 WebSecurity를 사용자 정의 할 수 있습니다. EnableWebSecurity를 사용할 때이 구성을 가져옵니다. springSecurityFilte..
org.springframework.context.support.AbstractApplicationContext Class 확인 @Override public void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShutdownMonitor) { // Prepare this context for refreshing. prepareRefresh(); // Tell the subclass to refresh the internal bean factory. ConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory(); // Prepare th..
HttpSecurityBeanDefinitionParser https://stackoverflow.com/questions/10140515/spring-security-where-can-i-find-the-list-of-all-security-filters-registered-w
소스코드로 볼 때(compile time)와 실행할 때(run time)의 의존관계가 서로 달라서 그럴 수도 있다. 현재 의존관계에서 중복되거나 버전이 안 맞거나 하는 것을 찾아볼 필요가 있다. setReadOnly not defined in JpaTransactionObject in JpaTransactionManager · Issue #24422 · spring-projects/spring-framework In spring-orm-8.2.3.RELEASE the problem described in Ticket # 23943 is still present. At line 405 txObject.setReadOnly(definition.isReadOnly()); txObject is of type J..
테스트 돌리는데 예외 발생 java.lang.IllegalStateException: Failed to load ApplicationContext Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'resourceHandlerMapping' defined in class path resource [org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.spr..
단일 사용자만 애플리케이션에 로그인 할 수 있는 제약사항을 두려면 xml.xml에 리스너를 추가하고 org.springframework.security.web.session.HttpSessionEventPublisher 스프링 시큐리티 설정에 최대 세션수를 지정합니다. 이렇게하면 사용자가 여러번 로그인 할 수 없습니다. 두 번째 로그인으로 첫 번째 로그인이 무효화됩니다. 만약 두 번째 로그인을 막으려면 error-if-maximum-exceeded 속성을 지정합니다. "rejected"은 form-login을 사용하는 경우 사용자가 authentication-failure-url 로 지정한 인증 실패 URL로 리다이렉션 됩니다. "remember-me"와 같은 다른 비 대화식 메커니즘을 통해 두 번째 인..
일반적인 웹 애플리케이션에 접속해서 인증을 받는 절차를 한번 상상해 보자. 자원요청 : home 페이지에 접속을 해서 열어보고 싶은 링크를 클릭한다. 요청자원인식 : 링크를 클릭하면 요청이 서버로가고, 서버는 사용자가 요청한 자원이 보호된 자원이라고 인식한다. 요청자원 제공 불가 알림 : 사용자가 인증되지 않은 상태라면, 서버는 사용자에게 인증, 즉 로그인을 하라고 알려준다. 이때 로그인 페이지로 이동될 수도 있고 아니면 그냥 에러 페이지를 띄울수 있다. 인증 인터페이스 : 인증 메커니즘에 따라서 ID와 패스워드를 입력하는 폼이 뜰수고 있고, 브라우저가 BASIC 인증 다이얼로그 박스나, 쿠키나, X.509 인증서 등을 뒤져서 신상을 파악한다. 인증요청 : 브라우저는 입력된 ID, 패스워드를 서버로 보내..