Ejemplo n.º 1
0
void CWebAuth::RefusedLogin(const CString& sReason) {
	if (m_pWebSock) {
		std::shared_ptr<CWebSession> spSession = m_pWebSock->GetSession();

		spSession->AddError("Invalid login!");
		spSession->SetUser(nullptr);

		m_pWebSock->SetLoggedIn(false);
		m_pWebSock->UnPauseRead();
		if (m_bBasic) {
			m_pWebSock->AddHeader("WWW-Authenticate", "Basic realm=\"ZNC\"");
			m_pWebSock->CHTTPSock::PrintErrorPage(401, "Unauthorized", "HTTP Basic authentication attemped with invalid credentials");
			// Why CWebSock makes this function protected?..
		} else {
			m_pWebSock->Redirect("/?cookie_check=true");
		}

		DEBUG("UNSUCCESSFUL login attempt ==> REASON [" + sReason + "] ==> SESSION [" + spSession->GetId() + "]");
	}
}