이글은 아래 링크의 원본 글에 대한 한글 번역 입니다
https://blogs.sap.com/2014/07/28/secure-transferring-of-parameters-between-wda-applications/

 

Secure transferring of parameters between WDA Applications

July 28, 2014

 

웹딘프로아밥 어플리케이션에서 다른 어플리케이션으로 사원 번호를 전달하기 위해서 엄청 안전한 방법이 필요했습니다.

URL 파라미터를 바로 사용할 수는 없습니다. 왜냐하면 누구나 그걸 고쳐서 다른 사람의 민감한 데이타를 볼 수 있기 때문이죠.

 

변수를 공유하는 방법이 아닌 완전히 독립적인 방법이여야 합니다.

 

 

해결 방법은 스탠다드 어플리케이션 HRESS_A_PERSINFO 에서 발견 할 수 있었습니다.
thanks to Bhaskar Tripathi's question
http://scn.sap.com/message/15249282

 

 

웹딘프로 컴포넌트 HRESS_C_PERNR_SELECTION 에는 어시스턴스 클래스 CL_HRESS_AS_PERNR_SELECTION가 있습니다.

 

값을 보내는 어플리케이션에서는 값을 메모리에 올리고 랜덤 아이디를 RV_MEM_ID로 받습니다.

 

CALL METHOD CL_HRESS_EMPLOYEE_SERVICES=>SET_PERNR_TO_MEMORY

   EXPORTING

     iv_pernr                  = lv_pernr

*     IV_DISP_CE_ASSIGTS_SCREEN =

*     IV_NON_EIC_MODE           =

   RECEIVING

     RV_MEM_ID                 = w_value

 

 

이 값을 활용하여 URL을 구성하고 두번째 어플리케이션에 전달합니다.

 

* Get the URL of the called application

  CALL METHOD cl_wd_utilities=>construct_wd_url

    EXPORTING

      application_name = 'ZBHRWD_INC_CRiteria_ESS'

    IMPORTING

      out_absolute_url = w_url.

*Attach the parameters and its value with the URL that

* have to be passed to the 2nd application

  CALL METHOD cl_http_server=>append_field_url

    EXPORTING

      name  = 'PERNR_MEM_ID'

      value = w_value

    CHANGING

      url   = w_url.

 

 

값을 받는 어플리케이션에서는 사원 번호를 메모리 아이디에서 가져옵니다.

 

wd_assist->get_pernr_from_memory(

           exporting

           iv_pernr_mem_id      = wd_comp_controller->gv_memid

           IMPORTING

            ev_pernr = lv_pernr ).

 

 

이렇게 하면 권한 검사를 할 필요도 없습니다.

 

이글은 아래 링크의 원본 글에 대한 한글 번역 입니다
https://blogs.sap.com/2014/07/28/secure-transferring-of-parameters-between-wda-applications/

 

+ Recent posts