+sub _redirect_to_main_script_if_already_logged_in {
+ my ($self) = @_;
+
+ # Get 'login' from valid session.
+ my $login = $::auth->get_session_value('login');
+ return unless $login;
+
+ # See whether or not the user exists in the database.
+ my %user = $::auth->read_user(login => $login);
+ return if ($user{login} || '') ne $login;
+
+ # Check if the session is logged in correctly.
+ return if SL::Auth::OK() != $::auth->authenticate($login, undef);
+
+ $::auth->create_or_refresh_session;
+ $::auth->delete_session_value('FLASH');
+
+ $self->_redirect_to_main_script(\%user);