【问题标题】:spring security 3 authentication methodspring security 3 认证方法
【发布时间】:2011-12-14 14:08:47
【问题描述】:

我是 Spring Security 的新手。我已经阅读了文档并且有两个问题,以便将其集成到我的 web 应用程序中:

(1) 我使用休眠。通过实现UserDetailsS​​ervice,访问Dao来配置身份验证自定义身份验证提供者是否更好?

或者使用 JDBC-user-service 引用数据库连接并指定 user 和 user_roles 表上的查询是否更好?

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

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

任何帮助将不胜感激。非常感谢您。

【问题讨论】:

    标签: security spring authentication


    【解决方案1】:
    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" />
    

    【讨论】:

      猜你喜欢
      • 2016-08-20
      • 2015-04-10
      • 2011-02-04
      • 2012-08-15
      • 2016-08-11
      • 2016-11-15
      • 2015-03-17
      • 2013-11-03
      • 1970-01-01
      相关资源
      最近更新 更多