2011-12-13 22 views
0

私はSpring Securityで初めてです。私はドキュメントを読んだことがあり、それを私のWebアプリケーションに統合するために2つの質問があります。spring security 3認証方法

(1)私はHibernateを使用します。 Daoにアクセスして、UserDetailsS​​erviceを実装して認証プロバイダーをカスタマイズする認証を設定する方が良いでしょうか?

または、データベース接続を参照し、userテーブルとuser_rolesテーブルでクエリを指定するJDBCユーザサービスで設定する方が良いですか?

私は、Hibernate Daoを使うのは難しいと思っていますが、それはもっとデータベースに依存しないソリューションでしょうか?

(2)上記のいずれの場合(HibernateとJDBC)でも、プレゼンテーション層にログインしてログアウトする方法を実装する必要がありますか?または、Spring Securityフレームワークが自動的にそれを実行しますか?私はUserDetailsを使用して、現在のユーザーに関する情報を知ることができ、ユーザーがログインしているかどうかに応じて、ログイン/ログアウトのリンクを表示するかどうかなど、ビューで使用することができます。しかし、方法についてはどうですか?

助けていただければ幸いです。非常に進んでいただきありがとうございます。

答えて

0
  1. は、私の知る限り理解し、UserDetailsS​​erviceを実装すると、ユーザーのカスタマイズのためにもっとあります。簡単なクエリでデータを取得できる場合は、JDBC-user-serviceを使用します。

  2. このメソッドを実装する必要はありません。あなたの設定に応じて、Springはログインとログアウトを処理します。 clogoffのために、あなたは 'j_spring_security_logout'

    <c:url value="/j_spring_security_logout"/>"> 
    

でリンクをラップすることができ詳細はform-login要素をチェックしてください。サンプルは以下の通りです。

 <form-login login-page="/login.jsp" 
       default-target-url="/welcome.jsp" 
       always-use-default-target="true" 
       authentication-failure-url="/login.jsp?error=true" /> 
関連する問題