5847927828
621
2020-01-30 00:04:57
5
390

스프링 로그인!



	<sec:authorize access="isAnonymous()">
		<a href="/login?redirect=addProduct">상품 추가하기</a>
	</sec:authorize>
	<sec:authorize access="isAuthenticated()">
		<a href="/addProduct">상품 추가하기</a>
	</sec:authorize>

스프링을 공부하는데 이렇게하는게 맞는지 몰라서 질문올립니당..

 

위 코드처럼 비회원일때는 저렇게 파라미터로 상품추가 페이지를 준 후

성공 시 이동하도록 해놓았고 , 회원일때는 바로 상품추가페이지로 이동하게 해놓았습니다

이렇게 하는게 맞나요??

0
  • 답변 5

  • 준호
    421
    2020-01-30 09:58:28

    저라면 로그인, 비 로그인 상관없이 /addProduct 로 넘겨서 처리하겠습니다. 

    spring security를 통해 해당 URL 설정이 되어 있으면 로그인이 안되어 있으면 자동으로 로그인 URL로 이동할겁니다. 


    그리고 spring security에서 위와 같은 케이스면 설정을 통해 로그인 성공 시 이전 URL(/addProduct)로 자동으로 이동되도록 설정할 수 있습니다.



  • 5847927828
    621
    2020-01-30 15:04:55

    준호 

    감사합니다 ,  저도 원래는 준호님 말씀대로 referer 세션을 받아서

    핸들러를 썼었는데 그렇게 하면

    index 페이지에 있는 상품추가 버튼을 눌렀을때 말씀하신대로 자동으로 로그인페이지로 넘어가게 해놓았고로그인페이지로 이동 후 로그인 성공 시 

    상품추가페이지가 아닌 index페이지로 가지더라구요 ... 제가 잘못한건가요??

  • 준호
    421
    2020-01-30 16:55:04
  • 5847927828
    621
    2020-01-30 19:16:10

    준호 


    신경 써주셔서 너무 감사합니다... 읽어봤는데 준호님 말씀대로 로그인 , 비로그인 상관없이

    addProduct페이지로 이동하게되면 파라미터 값은 어떻게 받아내는건가요??

    보내주신 링크 읽어보니깐 파라미터값을 받아서 핸들러에서 리다이렉트 해주는것 같은데...


  • 준호
    421
    2020-01-31 15:18:20

    그건 비지니스 로직을 어떻게 처리하냐에 따라서 다를 수 있겠네요.

    URL 파라미터에 상품코드를 넣어서 처리하거나 위에 작성하신

    URL처럼 비 로그인일 경우에는 로그인 페이지로 이동하기 전에 쿠키나 세션에 상품 코드를 저장하고 로그인 이후 넘어갈수도 있을테구요. 


  • 로그인을 하시면 답변을 등록할 수 있습니다.