如何使用Spring Security的Java Web应用程序使用自定义身份验证机制?

时间:2010-04-07 14:15:43

标签: java spring web-applications spring-mvc spring-security

我正在开发一个项目,将现有的Java Web应用程序转换为使用Spring Web MVC。作为其中的一部分,我将迁移现有的登录/注销机制以使用Spring Security。此阶段的想法是复制现有功能并仅替换Web层,保留服务类和对象。所需的功能很简单。访问受控于URL并访问用户必须登录的某些页面。使用简单的用户名和密码以及来自登录页面的额外静态信息执行身份验证。没有角色的概念:一旦用户登录,他们就可以访问所有页面。在幕后,服务层有一个具有简单身份验证方法的类:

doAuthenticate(String username, String password, String info) throws ServiceException

如果登录失败,则抛出异常。

我想保留现有的服务对象,该对象完成身份验证,但要“插入”Spring Security机制。请问有人建议采取最佳方法吗?当然,我想走最小阻力的道路,尽可能地将工作留给春天......

提前致谢。

2 个答案:

答案 0 :(得分:3)

实施org.springframework.security.authentication.AuthenticationProvider验证org.springframework.security.authentication.UsernamePasswordAuthenticationToken

答案 1 :(得分:0)

结帐Authentication Overview。你可能想要创建自己的UserDetailsService,然后定义你自己的AccessDecisionManager,如果用户已经过身份验证,它总是会投票赞成。