名前とパスワードを入力せずにユーザーを認証する方法ですが、トークン付きの電子メールで送信される URL は?
トークンを含む URL をインターセプトするコントローラーを使用してみましたが、ユーザーが匿名であるため、私の春の設定はログイン ページを返します。
また、次のような URL でトークンを使用して接続したいと思います。
http://myWebSite/guest/18f1ff9a-fd1e-49be-bb31 ...
データベース内の各ユーザーのトークンを持っています
トークンを使用してコントローラーへの匿名アクセスを許可しました。次に、ユーザーのユーザー名とパスワードをトークンで取得します。次のようにします。
String queryFindUserByToken = "from UserEntity u where u.token = :token";
ここで、データベースから取得したログインとパスワードを使用して、ユーザー セッションを自動的に作成したいと考えています。
パラメータを使用して j_spring_security_check にリダイレクトするようにリダイレクトしようとしましたが、認証方法がサポートされていません: GET
@RequestMapping(value = "guest/{tokenUser}", method = RequestMethod.GET)
public String guest(Map<String, Object> map, @PathVariable String tokenUser) {
UserEntity user = userService.findUserByToken(tokenUser);
return "redirect:j_spring_security_check?j_username=" + user.getUsername() + "&j_password=" + user.getPassword() ;
}
より良い解決策はありますか?