diff --git a/src/controllers/login_controller.rs b/src/controllers/login_controller.rs index 3355a9b..026133b 100644 --- a/src/controllers/login_controller.rs +++ b/src/controllers/login_controller.rs @@ -1,6 +1,6 @@ use actix::Addr; use actix_identity::Identity; -use actix_web::{HttpRequest, HttpResponse, Responder, web}; +use actix_web::{HttpResponse, Responder, web}; use askama::Template; use crate::actors::{bruteforce_actor, users_actor}; @@ -8,9 +8,8 @@ use crate::actors::bruteforce_actor::BruteForceActor; use crate::actors::users_actor::{ChangePasswordResult, LoginResult, UsersActor}; use crate::constants::{APP_NAME, MAX_FAILED_LOGIN_ATTEMPTS, MIN_PASS_LEN}; use crate::controllers::base_controller::{FatalErrorPage, redirect_user}; -use crate::data::app_config::AppConfig; +use crate::data::remote_ip::RemoteIP; use crate::data::session_identity::{SessionIdentity, SessionStatus}; -use crate::utils::network_utils::get_remote_ip; #[derive(Template)] #[template(path = "base_login_page.html")] @@ -50,21 +49,19 @@ pub struct LoginRequestQuery { /// Authenticate user pub async fn login_route( - http_req: HttpRequest, + remote_ip: RemoteIP, users: web::Data>, bruteforce: web::Data>, query: web::Query, req: Option>, - config: web::Data, id: Identity, ) -> impl Responder { let mut danger = String::new(); let mut success = String::new(); let mut login = String::new(); - let remote_ip = get_remote_ip(&http_req, config.proxy_ip.as_deref()); - let failed_attempts = bruteforce.send(bruteforce_actor::CountFailedAttempt { ip: remote_ip }) + let failed_attempts = bruteforce.send(bruteforce_actor::CountFailedAttempt { ip: remote_ip.into() }) .await.unwrap(); if failed_attempts > MAX_FAILED_LOGIN_ATTEMPTS { @@ -147,7 +144,7 @@ pub async fn login_route( log::warn!("Failed login for ip {:?} / username {}: {:?}", remote_ip, login, c); danger = "Login failed.".to_string(); - bruteforce.send(bruteforce_actor::RecordFailedAttempt { ip: remote_ip }).await.unwrap(); + bruteforce.send(bruteforce_actor::RecordFailedAttempt { ip: remote_ip.into() }).await.unwrap(); } } }