From 0f2754d0521867030447a4628d37d6e54e71b2c9 Mon Sep 17 00:00:00 2001 From: Othmar Gsenger Date: Sun, 16 Jan 2011 15:19:12 +0000 Subject: added login via ip functionality --- local/user.pm | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'local/user.pm') diff --git a/local/user.pm b/local/user.pm index 3700139..a0e24fd 100644 --- a/local/user.pm +++ b/local/user.pm @@ -3,6 +3,7 @@ require Exporter; use strict; use local::db; use base "Exporter"; +use local::netmask; sub new { @@ -12,6 +13,18 @@ sub new my $self=bless {}, $class; my %ENV=@_; ($self->{name})=$ENV{REMOTE_USER}; + if (not $self->{name}) + { + $self->{name}=$ENV{REMOTE_ADDR}; + my $netmask = new local::netmask(); + for my $ip ( local::db::ip->retrieve_all()) + { + if ($netmask->check_ip_in_subnet($ENV{REMOTE_ADDR},$ip->subnet,$ip->mask)) + { + $self->{name}=$ip->owner->name; + } + } + } my @user = local::db::owner->search(name => $self->{name}); if (not @user) { -- cgit v1.2.3