Feat: Routing andando
Signed-off-by: fede <federico.nicolas.polidoro@gmail.com>
This commit is contained in:
@@ -27,7 +27,8 @@ public class InquilinoController: Controller
|
||||
if (inq.Dni < 0 ) return BadRequest("Dni Invalido");
|
||||
|
||||
|
||||
return Redirect("/Inquilino");
|
||||
// no recuerdo porque esto existe
|
||||
// return Redirect("/Inquilino");
|
||||
return Content($"<p>Inquilino {inq.Nombre} agregado exitosamente.</p>", "text/html");
|
||||
}
|
||||
|
||||
@@ -38,4 +39,4 @@ public class InquilinoController: Controller
|
||||
public IActionResult FormAdd(){
|
||||
return View();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,30 +1,41 @@
|
||||
using Entidades.Dto;
|
||||
using Modelo;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
using System.Security.Claims;
|
||||
using System.Text;
|
||||
using Microsoft.IdentityModel.Tokens;
|
||||
namespace AlquilaFacil.Controllers;
|
||||
|
||||
using Entidades.Dto;
|
||||
using Modelo;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
namespace AlquilaFacil.Controllers;
|
||||
[ApiController]
|
||||
public class LoginController: ControllerBase
|
||||
{
|
||||
[HttpPost("api/login")]
|
||||
public IActionResult Login([FromBody] LoginDto loginDto) {
|
||||
|
||||
if (loginDto.Email == String.Empty || loginDto.Contraseña == String.Empty) return Unauthorized(new {message = "Los Datos no llegaron correctamente o faltan"});
|
||||
|
||||
var usuario = RepositorioUsuarios.Singleton.CheckUsuario(loginDto);
|
||||
if (usuario == null) return Unauthorized(new {message = "El usuario no existe o la contraseña es incorrecta"});
|
||||
|
||||
public class LoginController: Controller
|
||||
{
|
||||
public IActionResult Index(){
|
||||
return View();
|
||||
}
|
||||
string tokenString = GenerarToken(loginDto);
|
||||
return Ok( new {Token = tokenString, Redirect = "/Menu"});
|
||||
}
|
||||
|
||||
[HttpPost("api/login")]
|
||||
public IActionResult Login([FromForm] LoginDto loginDto) {
|
||||
|
||||
var usuario = RepositorioUsuarios.Singleton.CheckUsuario(loginDto);
|
||||
if (usuario == null){
|
||||
return Content(errorAlert);
|
||||
}
|
||||
else {
|
||||
Response.Headers["HX-Redirect"] = "/Home";
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
|
||||
private const string errorAlert = @"
|
||||
<div class='alert alert-warning alert-dismissible fade show' role='alert'>
|
||||
<strong>Error!</strong> Usuario o contraseña incorrectos.
|
||||
</div>";
|
||||
}
|
||||
|
||||
private string GenerarToken(LoginDto loginDto){
|
||||
var tokenHandler = new JwtSecurityTokenHandler();
|
||||
var key = Encoding.ASCII.GetBytes("ffb2cdc15d472e41a5b626e294c45020");
|
||||
var tokenDescriptor = new SecurityTokenDescriptor
|
||||
{
|
||||
Subject = new ClaimsIdentity(new Claim[]
|
||||
{
|
||||
new Claim(ClaimTypes.Name, loginDto.Email)
|
||||
}),
|
||||
Expires = DateTime.UtcNow.AddHours(1),
|
||||
SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
|
||||
};
|
||||
var token = tokenHandler.CreateToken(tokenDescriptor);
|
||||
return tokenHandler.WriteToken(token);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user