전체글

BSP Basic : Simple Login Process - Delayed Logon

BLWSoft 2006. 12. 11. 16:43
BSP를 이용해서 Web Application을 개발할때 가장 쉽고 간단하게 로그인 프로세스를 처리 할 수 있는 방식이 Delayed Logon 방식이다.

SAP WAS 6.10 때부터 존재했던 방식이며, 구현이 쉽고 Web Design을 적용함에 있어서 일반 웹 어플리케이션을 개발하는 것과 차이 없이 유연하게 처리할 수 있다.

좀더 자세한 내용은 SAP Notes 429165 : User switch (delayed logon) in HTTP framework 을 참조할것.


1. Prerequisite

- SAP 시스템 프로파일에 아래 두가지 파라미터 값을 추가한다.
  Delayed Logon 방식은 기본적으로 SSO(Single Sign-On) Cookie를 사용하며,
  아래 파라미터는 SYSTEM BSP Application을 사용 할 경우도 동일하게 적용된다.

      login/accept_sso2_ticket 1
      login/create_sso2_ticket 1

RZ11/RZ10 - SAP System Profile



- 사용자가 접속할 첫번째 페이지에서 사용할 익명 유저(Anonymous User)를 생성한다.

SAP WAS의 웹서버인 ICM은 기본적으로 모든 BSP Application에 사용자가 로그인 할 것을 요구한다.
(SYSTEM BSP Application 제외)
따라서 Delayed Logon 방식으로 로그인을 할때, 로그인을 처리할 BSP 페이지에 로그인을 해야하는
상태가 발생한다.

그러므로, 최초에는 익명 유저를 미리 세팅해서 로그인 페이지를 화면에 보여주며 (실제로는 이미
익명유저로 로그인이 된 상태), ID/Password를 입력받아서 익명유저를 입력받은 ID로 Switching 한다.
이때 사용할 익명유저는 SAP User이며, User type은 반드시 'Service' 로 해야 합니다.


SICF - User Type Selection


- 생성한 익명유저의 로그온 정보를 실제 사용할 BSP Application의 SICF Node에 설정. Client/ID/Password/Language 모두 입력


SICF - Login Information



2. Implementation


- SUSR_LOGIN_CHECK_RFC 함수를 사용, 로그온 처리를 실행함.

BSP Page Layout(예시)


BSP Page - onInputProcessing


함수가 성공적으로 실행되면 시스템 변수 SY-UNAME이 기존의 익명유저에서  입력받은 사용자명으로
변경되는것을 확인할 수 있다.

* SY-UNAME이 변경된 상태는 현재 실행중인 BSP Session이 살아있는 동안만 유지된다
  (Statefull 상태에서만 유지됨)