【发布时间】:2017-11-07 12:58:32
【问题描述】:
我的 Spring 应用程序为我的登录页面使用具有用户和角色的数据库以及两者的交叉表。
为了将用户重定向到不同的角色页面,我使用了控制器
@Controller
public class StartController {
@RequestMapping("/default")
public String defaultAfterLogin(HttpServletRequest request) {
if (request.isUserInRole("ADMIN")) {
return "redirect:/admin/";
}
return "redirect:/user/";
}
}
但我尝试使用用户“admin”并重定向到/user
打印出request.getUserPrincipal().toString():
Principal: org.springframework.security.core.userdetails.User@79225df7:
Username: admin@test.de;
Password: [PROTECTED];
Enabled: true;
AccountNonExpired: true;
credentialsNonExpired: true;
AccountNonLocked: true;
Granted Authorities: ADMIN;
Credentials: [PROTECTED];
Authenticated: true;
Details: org.springframework.security.web.authentication.WebAuthenticationDetails@b364:
RemoteIpAddress: 0:0:0:0:0:0:0:1;
SessionId: null;
Granted Authorities: ADMIN
重定向到/admin 的问题是什么?
【问题讨论】:
标签: java mysql spring spring-mvc spring-security