【发布时间】:2018-01-13 01:08:54
【问题描述】:
在我的应用程序中,我使用 Spring Security 使用数据库进行身份验证。重定向策略的一部分是,如果用户是 ADMIN,则将用户重定向到 ADMIN(HOME) 页面,如果用户是 USER,则将该用户重定向到 USER 页面。
当角色为 USER 的用户登录时,他会看到 USER 页面,如下所示:
<html ng-app="benefitApp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Benefit Application</title>
<script>document.write('<base href="' + document.location + '" />');</script>
<link rel="stylesheet" href="/css/bootstrap.css" />
<script src="https://code.angularjs.org/1.6.1/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular-route.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular-resource.js"></script>
<script type="text/javascript" src="./js/app.js"></script>
</head>
<body ng-controller="UserCtrl">
<p>Hello <p th:text="${name}"></p></p>
<div>
<ul class="menu">
<li><a href='userProfile({{userid}})'>userprofile</a></li>
</ul>
<div ng-view="ng-view"></div>
</div>
</body>
</html>
我正在尝试将登录用户的 ID 从 REST 控制器传递到此页面,如下所示:
@RequestMapping(value = "/user", method = RequestMethod.GET)
public String userpage(Model model) {
LOGGER.info(" Enter >> userpage() ");
Authentication auth = SecurityContextHolder.getContext()
.getAuthentication();
String name = auth.getName();
User user = userManager.findUserByEmail(name);
model.addAttribute("name", name);
model.addAttribute("userid", user.getId());
return "user";
}
但我在 user.html 页面中没有得到任何用户 ID。我在这里想念什么?
【问题讨论】:
标签: angularjs rest spring-boot thymeleaf