spring security 3认证方法

时间:2011-12-13 22:00:29

标签: security spring authentication

我是Spring Security的新手。我已经阅读了文档,我有两个问题,以便将它集成到我的webapp中:

(1)我使用Hibernate。通过实现UserDetailsS​​ervice,访问Dao来配置身份验证提供程序的身份验证更好吗?

或者使用引用数据库连接并在user和user_roles表上指定查询的JDBC用户服务来配置它是否更好?

我认为使用Hibernate Dao更难,但它会是一个更加独立于数据库的解决方案,不是吗?

(2)在上述两种情况中(Hibernate vs JDBC),我是否必须在表示层实现登录和注销的方法?或者Spring Security框架会自动为它做什么?我知道我可以使用UserDetails来了解有关当前用户登录的信息,以便在视图中使用它,例如显示或不显示登录/注销的链接,具体取决于用户是否登录。但那些方法呢?

任何帮助都会受到赞赏。非常感谢你的进步。

1 个答案:

答案 0 :(得分:0)

  1. 据我了解,实现UserDetailsS​​ervice更适合用户自定义。如果您可以通过简单的查询获取数据,请使用JDBC-user-service。

  2. 您无需实施这些方法。 Spring将负责登录和注销,具体取决于您的配置。对于clogoff,你可以用' j_spring_security_logout'

    包装链接
    <c:url value="/j_spring_security_logout"/>">
    
  3. 检查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" />