2021-07-20 22:51:43 +00:00
|
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
using Microsoft.AspNetCore.Authorization;
|
|
|
|
using Microsoft.AspNetCore.Identity;
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
using Microsoft.AspNetCore.Mvc.RazorPages;
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
using Props.Models;
|
2021-07-21 06:58:49 +00:00
|
|
|
using Props.Models.User;
|
2021-07-20 22:51:43 +00:00
|
|
|
|
|
|
|
namespace Props.Areas.Identity.Pages.Account
|
|
|
|
{
|
|
|
|
[AllowAnonymous]
|
|
|
|
public class LogoutModel : PageModel
|
|
|
|
{
|
|
|
|
private readonly SignInManager<ApplicationUser> _signInManager;
|
|
|
|
private readonly ILogger<LogoutModel> _logger;
|
|
|
|
|
|
|
|
public LogoutModel(SignInManager<ApplicationUser> signInManager, ILogger<LogoutModel> logger)
|
|
|
|
{
|
|
|
|
_signInManager = signInManager;
|
|
|
|
_logger = logger;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void OnGet()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
public async Task<IActionResult> OnPost(string returnUrl = null)
|
|
|
|
{
|
|
|
|
await _signInManager.SignOutAsync();
|
|
|
|
_logger.LogInformation("User logged out.");
|
|
|
|
if (returnUrl != null)
|
|
|
|
{
|
|
|
|
return LocalRedirect(returnUrl);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
return RedirectToPage();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|