private bool ValidateSession(string sesId, decimal userId) { bool sessionValid = false; UnityContainer container = new UnityContainer(); var authentication = new SystemManagement.Business.Authentication.Authentication(); var validateSession = authentication.ValidateSession(new MethodParameters.Authentication.ValidateSessionIn() { sessionId = sesId, userId = userId }); sessionValid = validateSession.result == Entities.Common.Result.Success; return(sessionValid); }
public ValidateTokenOut ValidateToken(ValidateTokenIn input) { var output = new ValidateTokenOut(); AES256 aes256 = new AES256(); string tokenDecrypt = aes256.Decrypt(input.token); // Se obtiene la información del token ClaimsPrincipal simplePrinciple = GetPrincipal(tokenDecrypt); if (simplePrinciple != null) { // Se obtienen las propiedades var identity = simplePrinciple.Identity as ClaimsIdentity; if (identity != null) { // Si no esta autenticado se denega el acceso if (identity.IsAuthenticated) { // Se obtienen las variables de las propiedades que se le asignaron al Token cuando se genero var sessionId = identity.FindFirst("sessionId"); var usrID = identity.FindFirst("usrID"); var ip = System.Web.HttpContext.Current.Request.UserHostAddress; if (sessionId?.Value != null && usrID?.Value != null && ip != null) { var autentication = new SystemManagement.Business.Authentication.Authentication(); var validateSessionOut = autentication.ValidateSession(new MethodParameters.Authentication.ValidateSessionIn() { sessionId = sessionId.Value, userId = Convert.ToDecimal(usrID.Value) }); if (validateSessionOut.result == Entities.Common.Result.Success && validateSessionOut.session.usrID == Convert.ToDecimal(usrID.Value) && validateSessionOut.session.sesID == sessionId.Value && validateSessionOut.session.ses_status == "V") { output.tokenInformation = new Entities.Authentication.TokenInformation(); output.tokenInformation.sessionId = sessionId.Value; output.tokenInformation.usrID = usrID.Value; } } } } } return(output); }