0

エンド ユーザーがデータベースを更新できるようにする API を作成しています。API クラスを jar ファイルに入れ、その jar をユーザーに提供します。

ただし、ユーザーを承認する必要があります(ユーザー名とパスワードを提供してください)

ユーザーがユーザー名とパスワードを提供したら、ユーザーが行っているすべての API 呼び出しでユーザーがログインしているかどうかを確認する必要がありますか?(つまり、ユーザーがログインしているかどうかにかかわらず、すべてのゲッターとセッターをチェックインする必要があります)?

彼らは別の方法ですか?ユーザーのログイン資格情報が正しいかどうかを確認している可能性がありますか?そうでない場合は、作成されたオブジェクトを破棄していますか?

編集

jarファイルになるAPI

import package org.atul.module.registration;

public class HelloWorld(){

  private bool isLogin=false;
  private String userName="user";
  private String Password="password";

  public HelloWorld(String userName,String password){
         isLogin = checkAuthentication(userName,password);    //will make true if creadential are correct
  }

  public String getInformation(){
             //return Information from database

}

 //other getters and setters

ユーザーがオブジェクトを作成するのを止めることができないので、作成するすべての関数 (getter と seter) で isLogin が true であることを確認する必要がありますか?

4

1 に答える 1

0

私はあなたに解決策を提供します.最善ではないかもしれませんが、あなたを助けることができます. その意図は、ファクトリを持つオブジェクトのみを作成できるため、ユーザーとパスを要求することです。必要に応じて、スーパーファクトリーにログインしているユーザーのキャッシュを作成して、ログに記録されているかどうかを確認できます。簡単な図にしてみました

ファクトリでオブジェクトを作成し、ユーザーを登録し、パスとユーザーが存在しない場合は例外をスローします。インターフェイスでは、クライアントが使用するメソッドを宣言します。クラスのコンストラクター アクセス レベルは package です。したがって、クライアントはファクトリだけではアクセスできません。

解決

実装できるもう 1 つのことは、Interceptorクライアントが提供する各要求のようなもので、ユーザーがログに記録されているかどうかを確認するクラスに渡します。

于 2013-06-23T15:32:28.873 に答える