can I tell how is currently logged into my web app?

Asked By Paddy Mac
27-Nov-06 06:05 AM
Earn up to 0 extra points for answering this tough question.

Hi,

Is it possible to tell what users are currently logged into my web app? From time-to-time I the web app may need upgrades, so I want to find out if any users are logged in before I upload.

I'm using forms authenication with SQL Server 2000.

Can this be done? and if so how would I do it?

Thanks,

Paddy

  try this!

sundar k replied to Paddy Mac
27-Nov-06 06:39 AM

I am not sure whether we have any direct method for finding the users who are logged in,

since you have mentioned that using forms authentication, you would have mentioned the list of
users who will be using your application in web.config file, typically your web.config will look like this,

<configuration>
    <system.web>
        <customErrors mode="Off"/>
        <authentication mode="Forms">
            <forms name="appNameAuth" path="/" loginUrl="login.aspx" protection="All" timeout="30">
                <credentials passwordFormat="Clear">
                    <user name="jeff" password="test" />
                    <user name="mike" password="test" />
                </credentials>
            </forms>
        </authentication>
        <authorization>
            <deny users="?" />
        </authorization>
    </system.web>
</configuration>


since you have these user details in place, you maintain this information in a table with a switch saying Current logged in?(yes/no) , whenever a person logins your application, change the database switch to yes and whenever he logsoff update to no, so pick up all 'yes' and u will know who are all logged in!

i found this article about forms authentication , you can also look into this, it doesnt talk about the above db logic, but its good! http://www.15seconds.com/issue/020220.htm

  count the number of current users / sessions

K Pravin Kumar Reddy replied to Paddy Mac
27-Nov-06 06:53 AM

hello

check here

There are a few ways you can approach this. One is to track users using global.asa and an application variable: 
 

<script language=vbScript runat=server> 
 
sub session_onStart() 
 
    application.lock() 
    application("SCount") = application("SCount") + 1 
    application.unlock() 
 
end sub 
 
sub session_onEnd() 
 
    application.lock() 
    application("SCount") = application("SCount") - 1 
    application.unlock() 
 
end sub 
 
sub application_onStart() 
 
    ' don't need a lock in onStart() 
    application("SCount") = 0 
 
end sub 
 
</script>
 
Then, in any page: 
 
<% 
    Response.Write "Current session count: " & _ 
        application("SCount") 
%>

http://classicasp.aspfaq.com/general/how-do-i-count-the-number-of-current-users/sessions.html

  There is nothing "stored" in your application

Peter Bromberg replied to Paddy Mac
27-Nov-06 12:12 PM

that tells you whether a user is "logged in". When a user requests a page, their Forms Ticket (cookie) is transmitted with the request, and the Application_AuthenticateRequest method is fired.  Aside from using some sort of  "counting code" like Kevin suggested, this is your only other place that you can set up some sort of persistent mechanism (application state) to tell you that a user is , erm, "logged in".

 

  Thanks guys
Paddy Mac replied to Peter Bromberg
29-Nov-06 04:19 AM
cheers for the info guys!
Create New Account