Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## tle.framework.component.spi.aamanager
Interface AAManager

All Superinterfaces:
  Component

All Known Implementing Classes:
  DefaultAAManager, NullAAManager

    public interface AAManager

extends Component

권한 인증을 처리하는 컴포넌트의 기능을 정의한다.

권한 인증 서비스를 제공할 컴포넌트는 이 인터페이스를 구현해주어야 한다.

Since:
  2.0
Author:
  최범균

Method Summary
`User` | `authenticate(UserAuthenticationInfo authInfo)` UserAuthenticationInfo에 저장된 정보를 사용하여 인증된 사용자인 경우 사용자에 해당하는 User 객체를 리턴한다.
`boolean` | `checkAuthorization(User user, Service service)` user가 service를 사용할 수 있을 경우 true를 리턴한다.
`void` | `closeSession(HttpServletRequest request, HttpServletResponse response)` 사용자의 세션을 종료한다.
`AAManagerProxy` | `getAAManagerProxy()` 이 AAManager 객체를 연결한 AAManagerProxy를 리턴한다.
`Role` | `getRole(java.lang.String roleID)` 역할 ID에 해당하는 역할을 리턴한다.
`Service` | `getService(RequestInfo requestInfo)` 요청 정보에 해당하는 Service를 구한다.
`User` | `getSessionUser(HttpServletRequest request)` 세션과 관련된 User를 구한다.
`void` | `openSession(User user, HttpServletRequest request, HttpServletResponse response)` 사용자의 세션을 시작한다.

Methods inherited from interface tle.framework.component.Component
`close, getID, init, isClosed, isClosing, isCreated, isErrorOccured, isInited, isIniting, isResuming, isRunning, isStarting, isStopped, isStopping, isSuspended, isSuspending, resume, start, stop, suspend`

Method Detail

### authenticate

    User authenticate(UserAuthenticationInfo authInfo)
                      throws AAManagerException

  UserAuthenticationInfo에 저장된 정보를 사용하여 인증된 사용자인 경우 사용자에 해당하는 User 객체를 리턴한다.

  Parameters:
    `authInfo` - 사용자 인증 정보
  Returns:
    인증에 성공한 경우 관련 User를 리턴
  Throws:
    `AuthenticationException` - 아이디나 암호가 잘못된 경우와 같이 인증에 실패할 경우에 발생한다.
    `AAManagerException` - 기타 문제가 있을 때 발생한다.

### openSession

    void openSession(User user,
                     HttpServletRequest request,
                     HttpServletResponse response)
                     throws AAManagerException

  사용자의 세션을 시작한다.

  AAManager의 구현체는 HttpSession이나 기타 다른 방법을 사용해서 세션을 구현해주어야 한다.

  Parameters:
    `user` - 세션에 저장될 사용자
    `request` - HTTP 요청
    `response` - HTTP 응답
  Throws:
    `AAManagerException`

### closeSession

    void closeSession(HttpServletRequest request,
                      HttpServletResponse response)
                      throws AAManagerException

  사용자의 세션을 종료한다.

  Throws:
    `AAManagerException`

### getSessionUser

    User getSessionUser(HttpServletRequest request)
                        throws AAManagerException

  세션과 관련된 User를 구한다. 세션이 시작되지 않았다면 NullUser를 리턴한다.

  Parameters:
    `request` -
  Returns:
    세션에 저장된 User. 세션이 시작되지 않았다면 NullUser를 리턴.
  Throws:
    `AAManagerException`

### checkAuthorization

    boolean checkAuthorization(User user,
                               Service service)
                               throws AAManagerException

  user가 service를 사용할 수 있을 경우 true를 리턴한다.

  Parameters:
    `user` - 사용자
    `service` - 서비스
  Returns:
  Throws:
    `AAManagerException`

### getService

    Service getService(RequestInfo requestInfo)
                       throws AAManagerException

  요청 정보에 해당하는 Service를 구한다. 관련 서비스가 존재하지 않을 경우 NullService를 리턴한다.

  Parameters:
    `requestInfo` - 요청 정보
  Returns:
    Service
  Throws:
    `AAManagerException`

### getRole

    Role getRole(java.lang.String roleID)
                 throws AAManagerException

  역할 ID에 해당하는 역할을 리턴한다. 존재하지 않을 경우 null을 리턴한다.

  Parameters:
    `roleID` - 역할 ID
  Returns:
    Role
  Throws:
    `AAManagerException`

### getAAManagerProxy

    AAManagerProxy getAAManagerProxy()

  이 AAManager 객체를 연결한 AAManagerProxy를 리턴한다. 틀 프레임워크를 사용하는 시스템에서 AAManager가 제공하는 기능들을 사용하기 위해서는 AAManagerProxy를 통해서 간접적으로 접근하게 된다.

  예를 들어, AAManager.openSession() 메소드를 사용하고 싶다면 다음과 같은 코드를 사용해야 한다.

         TLEFramework.getAAManagerProxy().openSession(user, request, response);

  Returns:
    AAManagerProxy
  See Also:
    `AAManagerProxy`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD