Microsoft.AspNetCore.Session를 종속성에 누겟패키지를 설치합니다!
builder.Services.AddSession(); //서비스에 등록
...
app.UseSession(); //application 단위로 세션을 사용하겠다
...
if (user != null)
{
// 로그인 성공 시
//HttpContext.Session.SetInt32(key, value);
HttpContext.Session.SetInt32("USER_LOGIN_KEY", user.UserNo);
return RedirectToAction("LoginSuccess", "Home"); // 로그인 성공 페이지로 이동
...
}
...
public IActionResult Logout()
{
HttpContext.Session.Remove("USER_LOGIN_KEY");
return RedirectToAction("Index", "Home");
}
<ul class="navbar-nav navbar-right">
@if(Context.Session.GetInt32("USER_LOGIN_KEY") == null){
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Account" asp-action="Register">SignUp</a>
</li>
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Account" asp-action="Login">Login</a>
</li>
}
else
{
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Account" asp-action="Logout">Logout</a>
</li>
}
</ul>
로그인 성공 시 Logout 버튼만 보이는 것이 확인이 됩니다!