2011-12-13 74 views
0

我是Spring Security的新手。我已閱讀文檔,我有兩個問題,爲了將其集成到我的web應用程序中:(1)我使用Hibernate。通過實現UserDetailsS​​ervice來訪問Dao,配置身份驗證提供程序的身份驗證配置會更好嗎?spring安全3認證方法

或者是更好地使用引用數據庫連接的JDBC用戶服務進行配置,並在用戶和user_roles表上指定查詢?

我認爲使用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" />