初めてJavaから非常に幅広いWebアプリケーションを作成しています。ドメインの設定についてのガイダンスが必要です。このアプリケーションは、教師と学生の両方に使用されることになり、アプリケーションでさまざまなことができるようになります。また、それぞれ異なる特性を持たせる必要があります。異なる種類のユーザーのアプリケーション
私の考えは、ドメインへのメインエントリがUserクラスだということです。このクラスは、名前、電子メール、ログインパスワードなどを保持します。しかし、ログインしている人が先生か学生かによって、彼らは別のものにアクセスできる必要があります。たとえば、教師は、教科の対象を教えている設定を持っていなければなりません。
まず、これは私にとって典型的な継承の問題のようです:ユーザークラスを抽象的なにして、 。しかし、私はこれが最高の解決策であるかどうか分からないので、私がこれを書いている主な理由は、私がこの問題である箱から私の心を奪うことができる議論を模索しているということです。
重複の可能性は、(私が考える理由とそうではありません):
How to create pages with different permissions' views
これは、ページの表示やクリックのように、ユーザーが特定のサービスへのアクセスを持っているかどうかを判断についてですボタン。これは、ユーザをグループにグループ化し、各グループに権限のセットを与え、それらの権限をチェックすることで解決できる別の問題です。私の問題を解決するためのオプションが制限されているにもかかわらず、私の問題に直接リンクされていません。これはまた、各ユーザーが権限を持っているアクションに関係しているユーザーがログインしているすべてのエントリ(権限がUserクラスのインスタンスに与えられ、それ以外なし)How to model system with different types of users?
の単一のポイントが存在しなければなりません実際のユーザーのプロパティではなく、実行します。しかし、私はこのような構造を使うことを考えました。ユーザーがTEACHER_ROLEロールを持っている場合、そのユーザーを別のTeacherクラスにキャストします。しかし、私はむしろランタイムに依存するキャストをせずにこれを解決するだろう。
TL; DR:ユーザーが別のログに記録されたが、彼らがしているユーザーの種類に応じて、異なる特性を持つべきアプリケーションを作成するときに
可能なオプションは何ですか?
私が開発しているアプリケーションは、実際にCanvasに非常によく似ていますが、非常に縮小版ですから、あなたは@ivanivanを書いておもしろいことです。 – darksmurf
しかし、ログインしたユーザーが異なる**プロパティ**を持つ状況をどう処理するのですか?例えば、教師は、教える科目のセットを持っています。これは、学生が決して持っていない財産です。これは、「これは他の理由で必要でも、ロールへのユーザーおよびロールへのアクセス権の付与」ソリューションによってどのように解決されるのか分かりません。 – darksmurf
ユーザー1は「非管理者/非ヘルプデスク/非ボス」ユーザーです。彼らはシステムにログインし、ユーザー1として識別し、登録リストを取得します。登録は、コーススペースと、そのコーススペースでの役割を指定します。だから私はサーバにログインし、先生としてLinux Adminクラスに登録されていることを知っていますが、学生としてJava Servletsクラスにも登録しています。私がその特定のコースに入ると、私はその役割を持ち、権利は何でもあります。 – ivanivan