security 관련된 문제는 대부분 스프링 버전문제인 것 같습니다. websecurityconfigureradapter 클래스도 현재 스프링부트 버전에서는 deprecated 되었고 현재는 SecurityFilterChain 방식으로 구현하는 것 같습니다. 현재 방식으로 하려다가 에러가 계속 나서 일단 한번 구현을 목표로 했기 때문에 스프링부트 버전을 영상과 동일하게 2.2.6으로 내려서 하니까 전부 해결되네요. 혼자 삽질하다 저같은 분들 있으실거 같아서 댓글 남깁니다.
강의 잘 보고 있습니다 질문이 있는데 따로 로그인 서비스 클래스에서 로그인 로직이 있을때는 스프링 시큐리티를 사용할 수 없는 상황인가요? 원래 구현 해 두었다가 시큐리티를 강의 보고 써보고 있는데 postMapping으로 만들어둔 기존 로그인 시도 메서드에 아예 진입이 되지 않네요
혹시 15:02 쯤 PasswordEncoder 메소드를 사용해서 스프링에서 자동적으로 관리를 한다고 되어있는데 저는 이 메소드를 사용하면 계속 BeanCurrentlyInCreationExeption 예외가 발생하는데 해결방법이 무었일까요... 몇일째 이부분을 해결하지 못하고있습니다..
@@sion_food 그러니까요 찾아보니까 inner class의 경우 사용할때 static키워드로 내부클래스에서 바로 사용할 수 있도록 하게 해주는데 영상에서는 inner class사용인데도 불구하고 static키워드 없이 에러가 안나는게.. 왜그런지 더 배워야할것같아요 ㅠㅠㅠㅠ
40분경에 바로 error 페이지로 연결되는것은 복잡한 과정이 아닙니다. (제가 맞다고 생각하는것은 아니고 제 생각입니다.) 타입립프의 param.error이 작동한 것으로 간단하게 페이지에 오류가 발생하게 되면 url에 error이라는 param을 추가해 준뒤 해당 구문을 추가해주는 것 뿐입니다. error 는 configureGlobal에서 DB에 있는 값을 비교하여 에러인지 아닌지를 판단합니다.. 다시한번 말하지만 제가 틀릴수 있습니다... 강의를 듣고 후에 공부해본 내용을 토대로 작성해 보는것 뿐입니다. 다른 분들에게 도움이 되고자;;
다만 40분쯤에서 error 처리가 궁금한데요. 잘못된 id pw로 로그인 시도를 하면 일단 /account/login에 POST로 요청이 들어가는데 이 때는 컨트롤러에는 GetMapping밖에 없는데 어디서 ?error가 param으로 담겨서 다시 로그인 페이지로 연결되는지가 어렵네요ㅎㅎ
23:00 처럼 코드 짜고 실행하면 Error creating bean with name 'webSecurityConfig': Requested bean is currently in creation: Is there an unresolvable circular reference? at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.beforeSingletonCreation(DefaultSingletonBeanRegistry.java:355) ~[spring-beans-5.3.18.jar:5.3.18] 이 오류가 뜨는데 혹시 이거 해결하신분 계신가요
com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'password' at row 1 at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:104) ~[mysql-connector-java-8.0.19.jar:8.0.19] at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) ~[mysql-connector-java-8.0.19.jar:8.0.19] at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1092) ~[mysql-connector-java-8.0.19.jar:8.0.19] at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1040) ~[mysql-connector-java-8.0.19.jar:8.0.19] 이건 db 설정이 잘못된걸까요!>
선생님 자세한 설명 감사해요 ㅜㅜ
한편한편 크게 도움되었습니다. 좋은 강의 감사드립니다 !
security 관련된 문제는 대부분 스프링 버전문제인 것 같습니다. websecurityconfigureradapter 클래스도 현재 스프링부트 버전에서는 deprecated 되었고 현재는 SecurityFilterChain 방식으로 구현하는 것 같습니다. 현재 방식으로 하려다가 에러가 계속 나서 일단 한번 구현을 목표로 했기 때문에 스프링부트 버전을 영상과 동일하게 2.2.6으로 내려서 하니까 전부 해결되네요. 혼자 삽질하다 저같은 분들 있으실거 같아서 댓글 남깁니다.
너무 감사히 영상 잘 보고 있습니다. 다음편도 기대되네요. ^^
감사한 강의 정말 잘봤습니다 바로 쓸 수 있게 설명도 하나부터 열까지 딱 필요한 것만 적절하고 자세하게 해주셔서 감동이에요ㅠㅠㅠㅠ
바로 이용해보려구요!
감사합니다. 딱 원하던 내용의 강좌였어요! 필요한 부분부분 설명해주셔서 아주 좋네용!
와 강의 진짜 잘하시네요 잘보고갑니다. 다른영상들도 봐야지
크게 도움이 됏습니다 감사함다.
정말 감사합니다
강의 잘 보고 있습니다 질문이 있는데 따로 로그인 서비스 클래스에서 로그인 로직이 있을때는 스프링 시큐리티를 사용할 수 없는 상황인가요? 원래 구현 해 두었다가 시큐리티를 강의 보고 써보고 있는데 postMapping으로 만들어둔 기존 로그인 시도 메서드에 아예 진입이 되지 않네요
감사합니다. 완강했네요 ^^
혹시 15:02 쯤 PasswordEncoder 메소드를 사용해서 스프링에서 자동적으로 관리를 한다고 되어있는데 저는 이 메소드를 사용하면 계속 BeanCurrentlyInCreationExeption 예외가 발생하는데 해결방법이 무었일까요... 몇일째 이부분을 해결하지 못하고있습니다..
Encoder쪽 말고 위에 configure 부분 메소드명을 Configure로 바꾸고 @override로 바꿔주세요
@@jjang-gu-1213 메소드명을 바꾸면 상속받은 클래스의 메소드명과 일치하지않아서 오류가나는데 제가 아직 초보라 알려주신 부분을 이해못하겠어요 ㅠ
감사합니다 ^^
좋은 영상 올려주셔서 정말 감사드립니다. 궁금증이 있어 질문 한가지만 부탁드리겠습니다! WebSecurityConfig 클래스의 configureGlobal 함수에서 .authoritiesByUsername에 선언한 쿼리는 어느때에 실행이 되는건지 궁금합니다.
이단계에서 막혀 10일 넘게 골머리앓고 찾아본결과...크롬을 개발할때만 써서 몰랐는데 쿠키 사용이 막혀있었더라구요
허용하니 옛날에 개발하던 화면나오고 뒤죽박죽 되다가 캐시 날리니까 모두 정상작동하네요...ㅠㅠ
너무 잘 보고 있습니다. 다만 독자 수준이 꽤 높게 설정되어 있어서 구글링해가며 공부해가며 천천히 보고 있습니다.ㅎㅎ
passwordEncoder 추가할때, Is there an unresolvable circular reference? 라는 순환오류가 뜹니다
똑같이 로그인 security를 구성했는데 계속 비밀번호가 틀리다고 나오는데 도저히 모르겠네요...
주석을 해도 안해도 값을 못가져온다고 하는데 어디에 에러인지 찾아봐야겠습니다 ㅠ
혹시 antMatchers 에 오류 뜨시는 분들 없나요?ㅠ
댓글이 저만안보이나요?
BeanCurrentlyInCreationException 이오류 나신분없으신가요
저두 그 오류를 해결하지 못하고... 해결방법을 몇일째 찾고있다가 오늘 해결했습니다.
다만 아직 왜 해결된것인지에 대한 이를 못했어요
PasswordEncoder 메소드에서 Public 으로만 되어있는걸 Public static로 변경해주니 오류없이 잘 작동되고있습니다.
@@LEGAS1128 대댓글 감사합니다.. 저도 헤매고있었어요. 왜이럴까요? 버전 바뀌어서그런가
@@sion_food 그러니까요 찾아보니까 inner class의 경우 사용할때 static키워드로 내부클래스에서 바로 사용할 수 있도록 하게 해주는데 영상에서는 inner class사용인데도 불구하고 static키워드 없이 에러가 안나는게.. 왜그런지 더 배워야할것같아요 ㅠㅠㅠㅠ
@@LEGAS1128 과제 망하는줄 알았는데 감사합니다 ㅠㅠ
40분경에 바로 error 페이지로 연결되는것은 복잡한 과정이 아닙니다.
(제가 맞다고 생각하는것은 아니고 제 생각입니다.)
타입립프의 param.error이 작동한 것으로
간단하게 페이지에 오류가 발생하게 되면 url에 error이라는 param을 추가해 준뒤 해당 구문을 추가해주는 것 뿐입니다.
error 는 configureGlobal에서 DB에 있는 값을 비교하여 에러인지 아닌지를 판단합니다..
다시한번 말하지만 제가 틀릴수 있습니다... 강의를 듣고 후에 공부해본 내용을 토대로 작성해 보는것 뿐입니다. 다른 분들에게 도움이 되고자;;
다만 40분쯤에서 error 처리가 궁금한데요. 잘못된 id pw로 로그인 시도를 하면 일단 /account/login에 POST로 요청이 들어가는데 이 때는 컨트롤러에는 GetMapping밖에 없는데 어디서 ?error가 param으로 담겨서 다시 로그인 페이지로 연결되는지가 어렵네요ㅎㅎ
configure에서 .formLogin.loginPage를 설정해줘서 그런거로밖에는 유추가 안되네요
추가적으로 이 configure 로 인해서 /account/login으로 가는 POST를 해당 모듈에서 땡겨가나보네요.
32:09 기록
23:00 처럼 코드 짜고 실행하면 Error creating bean with name 'webSecurityConfig': Requested bean is currently in creation: Is there an unresolvable circular reference?
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.beforeSingletonCreation(DefaultSingletonBeanRegistry.java:355) ~[spring-beans-5.3.18.jar:5.3.18] 이 오류가 뜨는데 혹시 이거 해결하신분 계신가요
passwordEncoder에 static 선언 해보세요
@@happylifejenn 덕분에 해결을 잘 했습니다. 혹시 어떤 원리로 해결이 된건지 알 수 있을까요?
com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'password' at row 1
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:104) ~[mysql-connector-java-8.0.19.jar:8.0.19]
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) ~[mysql-connector-java-8.0.19.jar:8.0.19]
at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1092) ~[mysql-connector-java-8.0.19.jar:8.0.19]
at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1040) ~[mysql-connector-java-8.0.19.jar:8.0.19]
이건 db 설정이 잘못된걸까요!>
password 설정하실때 varchar의 길이를 너무 짧게 해서 그런게 아닐까요 ?