该代码示例可从Spring-MVC-Login-Logout目录中的Github获得。 它从带有注释示例的Spring MVC派生而来。
定制身份验证提供者
为了实现我们自己的接受用户登录请求的方式,我们需要实现身份验证提供程序。 如果用户的ID与密码相同,以下内容可让用户进入:
public class MyAuthenticationProvider implements AuthenticationProvider {private static final List
Security.xml
我们需要创建一个security.xml文件:
以上内容可确保所有用户都具有匿名角色来访问任何页面。 登录后,它们将重定向到主页。 如果他们没有登录,他们将被自动视为匿名用户。 还声明了注销功能。 与其重新实现轮子,不如使用Spring本身提供的项目。
主页
我们实现了一个主页,显示当前登录用户的名称以及登录和注销链接:
<%&#64; taglib prefix&#61;&#39;c&#39; uri&#61;&#39;http://java.sun.com/jsp/jstl/core&#39; %>
Spring MVC Customized Login Logout !!!
Who is currently logged in?
&#39;>Login &#39;>Logout
控制者
我们需要向视图提供当前登录的用户名&#xff1a;
&#64;Controller
public class MyController {&#64;RequestMapping(value &#61; &#39;/&#39;)public String home(Model model) {model.addAttribute(&#39;CurrPrincipal&#39;,SecurityContextHolder.getContext().getAuthentication().getName());return &#39;index&#39;;}}
运行示例
编译后&#xff0c;可以通过浏览以下示例开始示例&#xff1a;http&#xff1a;// localhost&#xff1a;9292 / spring-mvc-login-logout /。 它将显示以下内容&#xff1a;
使用相同的ID和密码登录&#xff1a;
该应用程序返回主窗口并显示&#xff1a;
更多春天相关的帖子在这里 。
祝您编程愉快&#xff0c;别忘了分享&#xff01;
参考&#xff1a; Spring MVC定制的用户登录注销实现示例&#xff0c;来自我们的JCG合作伙伴 Jerome Versrynge&#xff0c;在技术说明博客中。
翻译自: https://www.javacodegeeks.com/2012/10/spring-mvc-customized-user-login-logout.html