0

アカウントにログインした後、他のユーザーのデータを表示および編集できないように、ユーザーを区別する方法は? ロギング手順中に何らかの方法でユーザーIDを覚えてから、WHERE user_id = xのようなクエリを作成するのは良いアプローチですか? または他のスマートな方法はありますか?

基本的に、ロギング プロシージャに spring フレームワークを使用していますが、このフレームワークの上級ユーザーではありません。ユーザーがログインした後、データベースに自分自身に関する情報 (名前、姓、電子メールなど) を挿入し、時刻表を入力する必要があります。現在のユーザーのIDを取得して、自分のデータのみを編集および挿入できるようにする方法がよくわかりません。

4

2 に答える 2

1

はい、ユーザーIDをセッション変数に保存する必要があります(セッションがわからない場合は、それらも調べてください)

于 2013-06-09T16:50:54.913 に答える
0

SecurityContextHolder を使用して、現在ログインしているユーザーをいつでも取得できます。SecurityContextHolder には、現在のスレッドのログイン ユーザーがあります。

Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (authentication != null && !authentication.getPrincipal().toString().equalsIgnoreCase("anonymous")) {
    User loggedInUser = (User) authentication.getPrincipal();
}
于 2013-06-10T08:48:07.617 に答える