当前位置: 首页 > 知识库问答 >
问题:

在Spring中注入登录用户

严高峻
2023-03-14

嗨,我想让我的用户通过URL登录,这是由Spring Security的。URL将包含用户名和密码。我尝试通过controller向customAuthenticationManager发送用户名和密码,然后签入CustomAuthentication Provider并返回UsernamePasswordAuthenticationToken。当我检查isauthenticated标志时,它显示为true,但当我尝试访问安全页面时,它会将我重定向到登录页面。我哪里错了?

共有1个答案

唐麒
2023-03-14

这不是最好的方法,但试试这个:

public void login(HttpServletRequest request, String userName, String password)
{
UsernamePasswordAuthenticationToken authRequest = new UsernamePasswordAuthenticationToken(userName, password);

// Authenticate the user
Authentication authentication = authenticationManager.authenticate(authRequest);
SecurityContext securityContext = SecurityContextHolder.getContext();
securityContext.setAuthentication(authentication);

// Create a new session and add the security context.
HttpSession session = request.getSession(true);
session.setAttribute("SPRING_SECURITY_CONTEXT", securityContext);
}
 类似资料:
  • 问题内容: 我们正在使用Spring 3开发RESTful Web服务,我们需要具有登录和注销功能,例如和。会话应存储在上下文中,直到会话超时或注销以允许使用其他Web服务。没有会话信息的任何访问Web服务的请求都应被拒绝。寻找这种情况的最新解决方案。 我实际上是在复活这里Spring Security 3以编程方式登录的问题,仍然无法正确回答。请同时在web.xml中指定所需的更改。 问题答案:

  • 我目前在Spring mvc中实现并发用户会话时遇到了问题。我的要求是“我有一个使用Spring MVC的Web应用程序,我有自己的登录表单,我还没有实现Spring Security性(这意味着我没有在我的Web应用程序中配置任何基于角色的用户限制)。我只想从一台机器上登录一个用户名相同的用户。我在网上冲浪,但找不到任何有用的链接或示例项目(没有基于角色的)。 我的要求: < li >每个会话一

  • 我正在使用带有java配置和两个HttpSecurity配置的spring-security 3.2.0.rc2。一个用于REST API,一个用于UI。当我发布到/logout时,它重定向到/login?logout,但随后(错误地)重定向到/login。当我成功地输入用户名和密码时,我会被重定向到登录-注销,并且必须再次输入凭据才能进入主页面。因此,似乎login的permitAll不被用于l

  • 我有一个使用spring security的spring web应用程序,我知道正常情况是要求用户提供他们的用户名和密码来登录,但我希望用户只提供他们的用户名,没有密码来登录。我想知道spring security是否有一个规范可以流畅地完成这一操作,还是必须通过在html表单中指定一个密码字段并用密码值填充该字段,然后将该字段设置为隐藏字段来进行操作。以便当用户输入用户名并单击submit时,系

  • 在Spring Boot应用程序中,我试图使用Spring Security实现用户登录、注册和JWT功能。我还将使用MySQL并将用户保存到数据库中。 我已经搜索并找到了许多例子,但大多数都使用了不同的方法,我真的很困惑于最合适的方法还是有更好的最新方法。 这里有一些看起来最合适但实际上不确定的例子。那么,您能否看一下它们,或者给我一些适当的文章或示例的建议? https://www.bezko

  • 如果你已有幕布,直接登录即可。如果还没有账号,可以使用手机号码注册幕布账号,也可以通过QQ、微信直接注册并登录。 注:微信登录方式需要手机上安装有微信。 账号设置与绑定 登录幕布后,点左上角的头像或者轻按屏幕从左往右滑动,选择「应用设置 - 账号设置」。在这里可以修改头像和昵称,设置密码,绑定手机号码、微信、QQ账号。 注: 绑定手机后才可以设置账号密码,手机号即为账号。 解除绑定需要在电脑上登录