0
我需要手动登录用户到由spring安全保护的应用程序。 我的情况是弹簧安全预先验证的用户登录
- 用户登录到应用程序1.
- 我的春天应用程序的链接将可用。
- 当用户点击链接时,应用程序1会在我的spring应用程序中将加密数据发布到不安全的url。
- 现在我的控制器会收到加密的数据并在应用程序1中调用一个web服务 ,加密的数据将被传递到web服务中,并且我得到一个带有用户名的响应。
- 一旦我得到用户名。我不想重新认证。我只想设置用户主体/认证对象并加载仪表板。
第1步到第4步正在工作。
在我的不安全的控制器(我得到加密的数据) 我有以下几行,但这又是调用我的身份验证管理器,并且我不想在此方案中再次进行身份验证。我只想创建会话并设置用户主体。
String username = application1.webservice(encoded data);
Authentication authentication = new UsernamePasswordAuthenticationToken(username,password);
SecurityContextHolder.getContext().setAuthentication(authentication);
return "redirect:/app";
注:我有基于表单的LDAP身份验证的工作,我使用的Spring Security 3.2/Java的配置(如果用户直接登录到我的应用程序,这将被使用)
嗨,谢谢你的回答。我添加了一个自定义验证提供并解决。 – Mukun