# 세션 탈취 검사하기

Agent에서 [AuthCheck](https://dwp-sso.gitbook.io/developers/undefined-1/authcheck) 클래스를 이용해 인증 체크를 하고 그 결과가 [AuthStatus](https://dwp-sso.gitbook.io/developers/undefined-1/authstatus).[SSOSuccess](https://dwp-sso.gitbook.io/developers/undefined-1/authstatus#ssosuccess-0) 일 때 사용자의 세션 탈취 여부를 조사하는 메서드를 실행합니다.&#x20;

{% hint style="warning" %}
이 메서드는 필요한 페이지에서만 호출합니다.&#x20;

Json data를 이용하는 로직이 있으므로 Ajax의 결과 페이지에서는 사용하지 않아야 합니다.
{% endhint %}

**샘플코드**

{% code title="default.jsp" %}

```javascript
// 인증 객체 선언(Request와 Response 인계)
AuthCheck auth = new AuthCheck(request, response);
// 인증 체크(인증 상태 값 리턴)
AuthStatus status = auth.checkLogon();

//…

//인증상태별 처리
if (status == AuthStatus.SSOSuccess) {
    // ---------------------------------------------------------------------
    // 인증 상태: 인증 성공
    // - 인증 토큰(쿠키) 존재하고, 토큰 형식에 맞고, SSO 정책 체크 결과 유효함.
    // ---------------------------------------------------------------------
    // 사용자 아이디 추출
    userId = auth.getUserID();
    // 사용자 속성 중 특정 사용자 속성 값 조회(사용자 이름, 조직 코드 등. 필요 없다면 제거)
    String somethingUserAttribute = auth.getUserInfo("AttributeName");
    // 사용자 세션 탈취 여부 조사
    // 세션 탈취를 감지하는 Javascript를 호출하는 코드가 자동 생성됨.
    // 필요한 페이지에서만 호출.
    // 특히 JSON Data가 깨지게되니, Ajax의 결과 페이지에서는 사용하지 말것.
    auth.checkHijacking();
}
```

{% endcode %}
