@Controller
public class HelloController {
@Value("${sso.server.url}")
String ssoServerUrl;
/**
* 无需登录就可以访问
* @return
*/
@ResponseBody
@GetMapping("/hello")
public String hello(){
return hello();
}
@GetMapping("/employee")
public String employee(Model model, HttpSession session){
Object loginUser = session.getAttribute("loginUser");
if(loginUser == null){
// 没登录,跳转到登录服务器进行登录
// 跳转过去以后,使用url上的查询参数,标识我们自己是哪个页面
// redirect_url=http://client1.com:8081/employee
return "redirect:" + ssoServerUrl + "?redirect_url=http://client1.com:8081/employee";
}else {
List<String> emps = new ArrayList<>();
emps.add("张三");
emps.add("李四");
model.addAttribute("emps", emps);
return "list";
}
}
}
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>员工列表</title>
</head>
<body>
<h1>欢迎:[]</h1>
<ul>
<li th:each="emp:${emps}">姓名:[[${emp}]]</li>
</ul>
</body>
</html>
server.port=8081
sso.server.url=http://sso.com:8080/login.html
@Controller
public class LoginController {
@GetMapping("/login.html")
public String loginPage(){
return "login";
}
@PostMapping("/doLogin")
public String doLogin(){
// 登录成功跳转,跳回到之前的页面
return "";
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<form action="doLogin" method="post">
用户名:<input type="text" name="username"/><br/>
密码:<input type="password" name="password"/><br/>
<input type="submit" value="登录"/>
</form>
</body>
</html>
server.port=8080