## nga.servlet.spi
クラス UserAuth

    java.lang.Object
      nga.servlet.spi.UserAuth

直系の既知のサブクラス:
  DefaultUserAuth

    public abstract class UserAuth

extends Object

利用者認証の仕組み。
このクラスの実装クラスは，インスタンス変数，クラス変数による状態を保持してはならない。

コンストラクタの概要
`protected` `UserAuth()` UserAuth を作成する。

メソッドの概要
`static User` `getUser(ServiceInfo serviceInfo)` ログイン済みの user を取得する。
`protected abstract User` `handleGetUser(ServiceInfo serviceInfo)` ログイン済みの user を取得する。
`protected abstract void` `handleLogin(ServiceInfo serviceInfo, User user)` ログイン処理を行なう。
`protected abstract void` `handleLogout(ServiceInfo serviceInfo)` ログアウト処理を行なう。
`protected abstract void` `handleSetPassword(ServiceInfo serviceInfo, User user)` パスワード設定処理を行なう。
`static void` `login(ServiceInfo serviceInfo, User user)` ログイン処理を行なう。
`static void` `logout(ServiceInfo serviceInfo)` ログアウト処理を行なう。
`static void` `setPassword(ServiceInfo serviceInfo, User user)` パスワード設定処理を行なう。

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

コンストラクタの詳細

### UserAuth

    protected UserAuth()

  UserAuth を作成する。

メソッドの詳細

### login

    public static void login(ServiceInfo serviceInfo,
                             User user)
                      throws ServletException

  ログイン処理を行なう。以下の処理が実行される。 (1) user の情報にて認証を行なう。 (2) 認証ＯＫの場合は，`UserStorage.load(ServiceInfo, User)` を呼び出し， 　　保存された利用者情報を取り出す。

  パラメータ:
    `serviceInfo` - 現在実行されている service に関する情報。
    `user` - ログインするユーザ。
  例外:
    `ServletException`

### handleLogin

    protected abstract void handleLogin(ServiceInfo serviceInfo,
                                        User user)
                                 throws ServletException

  ログイン処理を行なう。

  パラメータ:
    `serviceInfo` - 現在実行されている service に関する情報。
    `user` - ログインするユーザ。
  例外:
    `ServletException`

### logout

    public static void logout(ServiceInfo serviceInfo)
                       throws ServletException

  ログアウト処理を行なう。 (1) 現在のセションを無効にする。 (2) `UserStorage.save(ServiceInfo, User)` を呼び出し，利用者情報を保存する。

  パラメータ:
    `serviceInfo` - 現在実行されている service に関する情報。
  例外:
    `ServletException`

### handleLogout

    protected abstract void handleLogout(ServiceInfo serviceInfo)
                                  throws ServletException

  ログアウト処理を行なう。

  パラメータ:
    `serviceInfo` - 現在実行されている service に関する情報。
  例外:
    `ServletException`

### getUser

    public static User getUser(ServiceInfo serviceInfo)

  ログイン済みの user を取得する。

  パラメータ:
    `serviceInfo` - 現在実行されている service に関する情報。

### handleGetUser

    protected abstract User handleGetUser(ServiceInfo serviceInfo)

  ログイン済みの user を取得する。

  パラメータ:
    `serviceInfo` - 現在実行されている service に関する情報。

### setPassword

    public static void setPassword(ServiceInfo serviceInfo,
                                   User user)
                            throws ServletException

  パスワード設定処理を行なう。

  パラメータ:
    `serviceInfo` - 現在実行されている service に関する情報。
    `user` - パスワード設定処理を行なうユーザ。
  例外:
    `ServletException`

### handleSetPassword

    protected abstract void handleSetPassword(ServiceInfo serviceInfo,
                                              User user)
                                       throws ServletException

  パスワード設定処理を行なう。

  パラメータ:
    `serviceInfo` - 現在実行されている service に関する情報。
    `user` - パスワード設定処理を行なうユーザ。
  例外:
    `ServletException`