0

名前とパスワードを入力せずにユーザーを認証する方法ですが、トークン付きの電子メールで送信される 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() ;


    }

より良い解決策はありますか?

4

0 に答える 0