快捷搜索:  as

我是这样使用SpringBoot(自定义登录界面)

目录

Spring Security自带的登录界面对照简单,不能完成多变的需求,这章来完成自定义登录界面。

改动设置设置设备摆设摆设

在configure(HttpSecurity http)中,.formLogin().loginPage加入自定义界面的URI,使Spring Security跳转到自己定义的一个地址。代码:

@Override

protected void configure(HttpSecurity http) throws Exception {

http

.authorizeRequests()

.antMatchers("/", "/home").permitAll() // 这三个目录不做安然节制

.anyRequest().authenticated()

.and()

.formLogin().loginPage("/login").permitAll(); // 自定义的登录页面

}

写界面

路径设置设置设备摆设摆设好了,必要把“/login”实现。在“com.biboheart.demos.security”中创建一个controller包(把安然节制相关的都加到在com.biboheart.demos.security包下进行)。在com.biboheart.demos.security.controller下创建Class,名称为SecurityController。完成“login”页面导航。

package com.biboheart.demos.security.controller;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

@Controller

public class SecurityController {

@RequestMapping(value = "/login", method = {RequestMethod.GET})

public String getAccessConfirmation() {

return "login";

}

}

在templates下创建login.html

点击 这里 返追念页.

Hello

结果如下,点击“这里”后可以加到首页

加了返追念页

在界面中加入下面代码就可以实现登出。

点击

界面效果,点击“登出”即可退出登录,默认跳转到/login页面。

登出按钮

这里有个问题,不论有没有登录都邑显示登出按钮。假如在必要登录的页面还好,在首页登出的话就必要判断一下当前是否有用户登录中,有的话才显示。Spring Security 供给了 thymeleaf 标签,必要在pom.xml中引入。

org.thymeleaf.extras

thymeleaf-extras-springsecurity5

改动页面中登出按钮

登录者:

点击

设置设置设备摆设摆设登出后页面

假如登出后想要返回到首页,可以改设置设置设备摆设摆设文件登出后跳转的URL。

@Override

protected void configure(HttpSecurity http) throws Exception {

http

.authorizeRequests()

.antMatchers("/", "/home").permitAll() // 这三个目录不做安然节制

.anyRequest().authenticated()

.and()

.formLogin()

.loginPage("/login")// 自定义的登录页面

.permitAll()

.and()

.logout()

.logoutSuccessUrl("/");

}

您可能还会对下面的文章感兴趣: