으니
106
2019-05-17 14:21:20
3
199

spring security ..패스워드에 대한 질문입니다.


security-context 입니다. login.jsp 에서 로그인을 submit하면  여기로와서 /front/user/dologin 을 post로 보내거든요...

login.jsp입니다..


원래 바로 security를 호출하면 암호화 되지 않은 패스워드 상태로 넘어가게 되는데 이 점을 보완하고 싶어서 controller 에서 한번 거쳐서 sha256암호화를 한 후에 db값과 비교를 해야하는데

회원 가입할때는 sha256암호화를 해서 넣었구요.. 

그래서 controller에 한번 걸쳐서 가게 하고싶어서 

@RequestMapping(value = "/front/user/dologin")
    public String dologin(HttpServletRequest request, ModelMap model, UserVO user) throws Exception {
    	String pw=request.getParameter("user_pw");
    	System.out.println(pw);
    	pw=CryptoUtil.SHA_encrypt(pw);
    	System.out.println(pw);
    	user.setPassword(pw);
        return request.getContextPath()+"/front/user/doLogin";
    }


이친구에게 한번 다녀가라구 했는데 이친구가 return 을 할때 security-context에 있는 login-processing-url 이친구에게 안가더라구요,, controller에서 security-context의 login-processing-url 에게 보내는 방법이 따로 있을가 싶어 질문드립니다 ㅠ 쉬운문제인지 안되는 문제인지 판단하기 힘드네요..

0
0
  • 답변 3

  • onjsdnjs
    91
    2019-05-17 15:47:05

    단순히 url 을 포워딩하면 가지 않습니다

    스프링 시큐리티는 필터에서 요청정보를 분석해서 해당 Process Url 과 http post 방식인지를 검증하게 되는데

    지금은 단순히 Url 만 포워딩하기 때문에  검증을 통과할 수 없습니다

    컨트롤러에서 패스워드 설정하는 것 보다 UserService 나 Provider 에서 별도 정의해서 하면 될 것 같습니다

    0
  • 더미
    13k
    2019-05-17 16:31:04

    시큐리티에서

    인증부분을 별도처리합니다.

    컨트롤러상관없이 시큐리티 인증부분을 구현해야됩니다.


    0
  • 으니
    106
    2019-05-17 16:54:38
    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.