(RADIATOR) Time & Session-Timeout
Hugh Irvine
hugh at open.com.au
Wed May 16 19:04:02 CDT 2001
Hello Michael -
Many thanks for posting this code. Would you be agreeable to us
including it in the Radiator distribution?
regards
Hugh
At 12:03 -0400 16/5/01, Michael Audet wrote:
>I attached some code I wrote a few months back.
>I combined the AuthbyADSI with the AuthbySQL code to produce a
>authentication method that authenticates a user via Windows 2000 ADSI and
>then tracks their monthly time via SQL.
>
>For example: I have a 800# that users call into and I want to restrict
>their time to 20 hours per month on that dial-in device. I also want to
>allow those users to dial outside the U.S. and allow them 160 hours when
>dialing Canada. I also want to allow those same users to connect via VPN
>and have unlimited time.
>
>The code I wrote allows each device to decide how much time per month each
>user can have on each device. Each device has its own Time Tracking
>Database done in SQL (using mysql). The system still keeps its own
>accounting database separate from the time tracking database. This way.. if
>you wanted to unlock a user and give him/her another 20 hours per month on a
>dial-in unit even after then exceeded the given 20 hours.. you can go into
>the time tracking database and delete their record for the month. So when
>they dial-in the time tracker sees no record for them and starts the 20 hour
>clock over again but meanwhile the Accounting database is logging the true
>time online for that user.
>
>Hope I'm not confusing everyone.
>
>But if you can read code check out the AuthbyADSIwSQL.pm code I attached to
>this file. You can see how I modified the authentication file to support a
>separate database for tracking time. Also included in the .zip file is a
>txt file explaining how to create the MySQL databases.
>
>Hope this helps,
>
>Michael Audet
>Network Services
>Chubb & Son
>maudet at chubb.com
>
>
>
>----- Original Message -----
>From: "Mariano Absatz" <lradius at pert.com.ar>
>To: "Radiator List" <radiator at open.com.au>
>Sent: Tuesday, May 15, 2001 5:47 PM
>Subject: (RADIATOR) Time & Session-Timeout
>
>
>> Hi,
>>
>> I would like to do the following.
>>
>> Suppose I have a dial-up product that allows a user to connect only in a
>> certain block time AND also has a maximum hours per month.
>>
>> For instance, he can connect Mon-Fri 8-20 and Sat 8-13 but no more than
>> 20 hours per month.
>>
>> I would have a TIMEBLOCK column in that user database with the following
>> content:
>>
>> "MoTuWeThFr0800-2000, Sa0800-2000"
>>
>> (btw, does the weekday support ranges also, like in "Mo-Fr0800-2000,
>> Sa0800-2000"?)
>>
>> The TIMELEFT column would have the seconds remaining for this user.
>>
>> What I want is to set Session-Timeout to the minimum of "until Time" and
>> TIMELEFT.
>>
>> But... :-) ... I also want to be able to have a value (in the db column)
>> to ignore either or both:
>>
>> Example database:
>>
>> username,password,timeleft,timeblock
>> john,secret,7200,"MoTuWeThFr0800-2000, Sa0800-2000"
>> paul,xxxx,-1,"Wk0800-2000, Sa0800-2000"
>> mary,abcd,-1,"Al0000-2400"
>> jane,wxyz,126000,"Al0000-2400"
>>
>> being, -1, for instance, an indicator that the user has unlimited monthly
>> connection time (but maybe subject to timeblock restrictions).
>>
>> In this example database john has 2 hours left and can only log on
>> weekdays from 8 through 20 and saturdays from 8 through 13.
>>
>> paul can log in during the same periods but has no total time
>> restrictions.
>>
>> mary has no restrictions at all
>>
>> jane can log in at any time, but she has only 35 hours left.
>>
>> Questions:
>>
>> 1) can I do this weird thing somehow simply? (I already read
>> goodies/blocktime.txt, but this is way more complicated, is it?) (note: I
>> could, if necessary, use a "very large value" to indicate
>> timeleft=infinity, but I'd rather have a more visual and checkable value,
>> like -1).
>>
>> 2) is the timeblock "Al0000-2400" acceptable?
>>
>> 3) are overlapping timeblocks acceptable? (e.g. "Wk0800-1700,
> > MoWeFrSa1500-2000")
>>
>> TIA.
>>
>>
>> Mariano Absatz
>> El Baby
>> ----------------------------------------------------------
>> To define recursion, we must first define recursion.
>>
>> ===
>> Archive at http://www.open.com.au/archives/radiator/
>> Announcements on radiator-announce at open.com.au
>> To unsubscribe, email 'majordomo at open.com.au' with
>> 'unsubscribe radiator' in the body of the message.
>>
>
>Attachment converted: Macintosh HD:timelimit.zip (pZIP/pZIP) (00019D89)
--
NB: I am travelling this week, so there may be delays in our correspondence.
Radiator: the most portable, flexible and configurable RADIUS server
anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
Platypus, Freeside, Interbiller, TACACS+, PAM, external, etc, etc.
Available on Unix, Linux, FreeBSD, Windows 95/98/2000, NT, MacOS X.
===
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.
More information about the radiator
mailing list