学生とスタッフの 2 つの異なるタイプのユーザーを持つ Java で Web アプリケーションを作成しています。すべてのユーザーに対して 1 つの集中ログインが必要ですが、学生は教師とは別のページを表示する必要があります。現在これを実装する方法は、1 つのログイン フォームを使用してユーザー名とパスワードを取得し、2 つのクエリを実行することです。スタッフテーブル。ユーザー テーブルから成功の応答が得られた場合は、そのユーザーを学生ページにログインします。それ以外の場合は、成功した結果が得られた場合は教師テーブルにクエリを実行し、教師ページにログインします。それ以外の場合は、ユーザー名とパスワードが無効であるというエラー メッセージが表示されます。私が知りたいのは、これを改善するには、可能なクエリを 1 つだけ実行することです。これを容易にするためにデータベースを編集してもかまいません。
2 に答える
1
これは明確な答えにはあまりにも制限がありませんが、認証と承認を分離するのが一般的です。
これを行うための1つのアプローチは、ユーザーのテーブルとロールのテーブルを用意し、ユーザーテーブルが認証を処理し、ロールテーブルが承認を制御することです。ユーザーは、結合テーブルによって1つのロール(または複数のロール)に関連付けられます。
このアプローチでは、loginはuserテーブルに対してのみクエリを実行して、ユーザーが有効なユーザーであるかどうかを判断し、アプリケーションの他の部分は、ログインしたユーザーに関連付けられた1つまたは複数のロールをクエリして、特定の機能へのアクセスが有効かどうかを判断します。許可された。
于 2012-09-08T02:59:31.280 に答える
1
ユーザーとしてログインするか、スタッフとしてログインするかを選択できるように、フォーム内にドロップダウンリストを追加できますか?
于 2012-09-08T02:16:03.910 に答える