2011-12-13 69 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" />