89
Приложения
Листинг основных программных модулей
using System.Threading.Tasks;
using KCS.UI.Web.Controllers.Shared;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using KCS.DTO.Account;
using KCS.Identity.Managers;
using KCS.UI.Web.Models.Account;
namespace KCS.UI.Web.Controllers
{
[Authorize]
public class AccountController : GenericController
{
public AccountController(UserManager userManager,
SignInManager<UserDTO> signInManager)
{
this.userManager = userManager;
this.signInManager = signInManager;
}
private readonly UserManager userManager;
private readonly SignInManager<UserDTO> signInManager;
[HttpGet]
[AllowAnonymous]
public async Task<IActionResult> Login(string returnUrl = null)
{
// Очищаем существующий внешний файл cookie, чтобы обеспечить
чистый процесс входа в систему.
await HttpContext.SignOutAsync(IdentityConstants.ExternalScheme);
ViewData["ReturnUrl"] = returnUrl;
return View();
}
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]