My Springアプリケーションは、ログインページに対して、両方のユーザとロールとクロステーブルを持つデータベースを使用します。 Spring isUserInRoleはMySQL DBのロールでは動作しません
は、しかし、私は、ユーザーが「admin」でそれを試してみて、私は/user
印刷アウトrequest.getUserPrincipal().toString()
へのリダイレクトを取得し、私はコントローラ
@Controller
public class StartController {
@RequestMapping("/default")
public String defaultAfterLogin(HttpServletRequest request) {
if (request.isUserInRole("ADMIN")) {
return "redirect:/admin/";
}
return "redirect:/user/";
}
}
に使用するさまざまな役割のページにユーザーをリダイレクトするには:
Principal: [email protected]:
Username: [email protected];
Password: [PROTECTED];
Enabled: true;
AccountNonExpired: true;
credentialsNonExpired: true;
AccountNonLocked: true;
Granted Authorities: ADMIN;
Credentials: [PROTECTED];
Authenticated: true;
Details: org.sprin[email protected]b364:
RemoteIpAddress: 0:0:0:0:0:0:0:1;
SessionId: null;
Granted Authorities: ADMIN
/admin
へのリダイレクトの問題は何ですか?