1

Status:dao、サービス、コントローラー、ビューに関するコード例を含む包括的な回答を待っています。

spring 3 + hibernate 4 では、 http://www.cavalr.com/blog/Spring_3_and_Annotation_Based_Hibernate_4_Exampleのようなサービス、dao、コントローラー、ビュー (mvc シナリオ) で、何かを行う前に認証を行うのに適した場所です。例えば

行事:

  1. ユーザーはログインしていますか? (最初にセッションでチェックし、次にデータベースのユーザー名とパスワードの一致でチェックします)

セッションした?すべてのトランザクションで以前のセッションを取得し、セッションが行われていない場合は認証します。

  1. トランザクションごとにさらに認証を行います。たとえば、データベースから値またはブール値を取得し、真かどうかを確認して (たとえば、このユーザーはさらにユーザーを追加できるか)、続行します。

  2. ユーザーに権限がありますか? 認証が失敗した場合、ユーザーにどのように応答しますか?

対応方法:

a. エラーページにリダイレクトします(ただし、それは好きではありません)

b. エラー メッセージを表示して同じページにリダイレクトする (ok)

c. すべて ajax で行います。(最も推奨) ページのリロードやリダイレクトは行わず、認証のみを行います。

  1. セッションおよびまたは

  2. データベース

  3. ajaxで同じページにエラーメッセージを送ります。

  4. 認証が成功した場合に進みます。

ロジックをどこに置くか?ダオ、サービス、コントローラーで? どのようなオプションがありますか?

誰かがサンプルコードを与えることができますか? 私はグーグルで検索しましたが、無関係な例を見つけました。解決策の 1 つが春のセキュリティであることは知っていますが、どう思いますか? 私の質問をすべてカバーするサンプルコードはありますか?

シナリオ例:

ここに画像の説明を入力

私のシナリオはこのようなものです。ユーザーが来て、データベースクエリは、アクセスできるボードを電話/リストします。彼がボードに入るとき。ボックスの権限はリストであり、読み取り可能なボックスのみが表示されます。その後、タスクと同じです。それらのそれぞれには、作成/読み取り/更新/削除のアクセス許可があり、ユーザーがアクセスするときに認識/取得されます。たとえば、ボード/ボックス/タスクを作成/読み取り/更新/削除しようとします。

現在、何百万ものボックス/タスクがあります。それぞれの読み込み許可は非常識かもしれませんか?

認証と承認を行う方法と場所がわかりません。daos、サービス、コントローラー、そして問題をエラーメッセージとしてビューに送信します。1 つの dao が別の dao を呼び出したり、1 つのサービスが別の dao やサービスを呼び出したりすることがあります。すべてまたはほとんどが認証エラーを引き起こす可能性があります。失敗した文字列を渡して、それに応じて配置する方法を教えてください。

ありがとう!

4

0 に答える 0