protected void btnEntrar_Click(object sender, EventArgs e) { try { SecurityController controller = new SecurityController(); SessionString = controller.RandomString(8); string ipAddress = Context.Request.ServerVariables["REMOTE_ADDR"].Replace(".", "").Replace(":", ""); if (String.IsNullOrEmpty(ipAddress)) { if (Context.Request.UserHostAddress != null) { ipAddress = Context.Request.UserHostAddress.Replace(".", "").Replace(":", ""); } } string radioButtonStoreOrClinet = rdClinet.Checked ? "C" : RdStore.Checked ? "L" : ""; if (radioButtonStoreOrClinet == "C") { ClientOrUserId = controller.AuthenticateClient(loginname.Text, password.Text); if (ClientOrUserId > 0) { SecurityToken = Cryptographic.Encryptor(SessionString + "|" + ClientOrUserId + "|" + DateTime.Now.AddMinutes(20).ToString("yyyyMMddHHmmss") + "|" + ipAddress + "|C"); Response.Redirect("~/Client/index.aspx?Token=" + SecurityToken); } else { throw new Exception("Usuário ou Senha inválido!"); } } else if (radioButtonStoreOrClinet == "L") { ClientOrUserId = controller.AuthenticateUser(loginname.Text, password.Text); if (ClientOrUserId > 0) { SecurityToken = Cryptographic.Encryptor(SessionString + "|" + ClientOrUserId + "|" + DateTime.Now.AddMinutes(20).ToString("yyyyMMddHHmmss") + "|" + ipAddress + "|L"); Response.Redirect("~/Store/index.aspx?Token=" + SecurityToken); } else { throw new Exception("Usuário ou Senha inválido!"); } } else { Alert("Selecione uma opção!"); } } catch (Exception ex) { Alert(ex); } }
public ResponseMessage Authenticate(ClientCredentials clientCredentials) { authHeader = new AuthHeader(); ResponseMessage securityReply = new ResponseMessage(); authHeader.SecurityToken = ""; securityReply.Message = ""; try { SecurityController controller = new SecurityController(); authHeader.SessionId = controller.RandomString(8); if (clientCredentials == null) { securityReply.Message = "UserCredentials is null or invalid"; securityReply.Success = false; return(securityReply); } if (String.IsNullOrEmpty(clientCredentials.Email)) { securityReply.Message = "Email is invalid"; securityReply.Success = false; return(securityReply); } if (String.IsNullOrEmpty(clientCredentials.Password)) { securityReply.Message = "Password is invalid"; securityReply.Success = false; return(securityReply); } string ipAddress = Context.Request.ServerVariables["REMOTE_ADDR"].Replace(".", "").Replace(":", ""); if (String.IsNullOrEmpty(ipAddress)) { if (Context.Request.UserHostAddress != null) { ipAddress = Context.Request.UserHostAddress.Replace(".", "").Replace(":", ""); } } if (String.IsNullOrEmpty(ipAddress)) { securityReply.Message = "Ip Address is invalid"; securityReply.Success = false; return(securityReply); } int id = controller.AuthenticateClient(clientCredentials.Email, clientCredentials.Password); if (id > 0) { //SessionId|ID|yyyyMMddHHmmss|IpAddress|C authHeader.SecurityToken = Cryptographic.Encryptor(authHeader.SessionId + "|" + id + "|" + DateTime.Now.AddMinutes(20).ToString("yyyyMMddHHmmss") + "|" + ipAddress + "|C"); securityReply.Message = "Authentication successfully"; securityReply.Success = true; return(securityReply); } else { securityReply.Message = "username or Password is invalid"; securityReply.Success = false; return(securityReply); } } catch (Exception ex) { securityReply.Success = false; securityReply.Message = ex.Message; securityReply.Exception = ex.Treatment(); return(securityReply); } }