Spring SecurityとOAuth 20(2)
スプリングの安全性を以前の位置に適用しました.
画面にログインボタンを作成するにはindexを使用します.ひげに次の内容を追加します.
index.mustache
-userNameが存在する場合、userNameが露出します.
-存在しない場合は、ログインボタンが露出します.
-したがって、個別の/logoutコントローラを作成する必要はありません. テスト用のuserNameをコントローラからモデルとして保存するコードを作成します.
セッションに値が格納されていない場合、ログインボタンはユーザーも存在しないため露出されます.
ログインする前に、Googleログインボタンは次のように表示されます.
上の図に示すように、ボタンをクリックして「Googleログイン」画面に移動します.
ログインに成功すると、Googleアカウントに登録されている名前が画面に表示されます.
Deviでuserテーブルのメンバー情報を表示できます.
上のh 2コンソールでは、現在ログインしているユーザの権限はGUIである.
この権限は記事を作成できません.そのため、次の403権限拒否エラーが発生します.
パーミッションをUSERに変更し、記事を作成することで、記事の登録が成功することを確認できます.
画面にログインボタンを作成するにはindexを使用します.ひげに次の内容を追加します.
index.mustache
...
<div class="col-md-6">
<a href="/posts/save" role="button" class="btn btn-primary">글 등록</a>
{{#userName}}
Logged in as: <span id="user">{{userName}}</span>
<a href="/logout" class="btn btn-info active" role="button">Logout</a>
{{/userName}}
{{^userName}}
<a href="/oauth2/authorization/google" class="btn btn-success active" role="button">Google Login</a>
<a href="/oauth2/authorization/naver" class="btn btn-secondary active" role="button">Naver Login</a>
{{/userName}}
</div>
...
{{#userName}}
{{^userName}}
-Musturchはifをサポートしていないため、最終値(真/偽)を渡す必要があります.-userNameが存在する場合、userNameが露出します.
-存在しない場合は、ログインボタンが露出します.
a href="/logout"
a href="/oauth2/authorization/google""
-Spring Securityによって提供されるログイン/urlのログアウト.-したがって、個別の/logoutコントローラを作成する必要はありません.
private final PostsService postsService;
private final HttpSession httpSession;
@GetMapping("/")
public String index(Model model){
model.addAttribute("posts", postsService.findAllDesc());
SessionUser user = (SessionUser) httpSession.getAttribute("user");
// 로그인 성공 시 세션 값
if (user != null) {
model.addAttribute("userName", user.getName());
}
return "index";
}
ログインに成功すると、セッションに格納されたユーザー情報がモデルに保存されます.セッションに値が格納されていない場合、ログインボタンはユーザーも存在しないため露出されます.
ログインする前に、Googleログインボタンは次のように表示されます.
上の図に示すように、ボタンをクリックして「Googleログイン」画面に移動します.
ログインに成功すると、Googleアカウントに登録されている名前が画面に表示されます.
Deviでuserテーブルのメンバー情報を表示できます.
認証権限
上のh 2コンソールでは、現在ログインしているユーザの権限はGUIである.
この権限は記事を作成できません.そのため、次の403権限拒否エラーが発生します.
パーミッションをUSERに変更し、記事を作成することで、記事の登録が成功することを確認できます.
Reference
この問題について(Spring SecurityとOAuth 20(2)), 我々は、より多くの情報をここで見つけました https://velog.io/@nnoshel/스프링-시큐리티와-OAuth2.02テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol