onpnt...this may seem a bit long winded, but if you read it...it should answer your question(s):
The session is automatically started when the user goes to your site. Think of it as walking into a grocery store...you automatically pick up a hand basket, or grab a roller-cart. Even if you end up never grabbing anything off the shelves and buying anything...you are still carrying the basket around with you. Likewise, you will have the session active for each user. Each session is private to that user...just like you have your own personal basket at the grocery store.
The session("ADminAUth"

variable you talk about is used to verify the current user has authorization to be on whatever page this if statement is on. The variable can just as easily be written as such: session("adminAuth"

or would be equivellent and easier to understand if they used the variable session("adminAccessAuthorization"

or somthing.
The user does not have to enter a value into a text box for it to be entered into the session variable. Take for instance, you go to a site, type in your user id and password. You hit submit. You go to the next page where your user id and password are verified against the values in the database. Now, if your values match the database values, the web site administrator could have put in a script to set the session("ADminAUth"

to equal the value of "authorized"...and if it didn't match, then it would equal nothing or somthing else like "false" or "not authorized".
That way, if you try to go directly to the "member" area or "authorized only" area without logging in, if you do not have a session variable called "ADminAUth" set to the value of "authorized", it'll knock you out of the page...here is an exampel:
--logon page-----
<form method='post' action='process.asp'>
<input type='text' name='userID'>
<input type='password' name='pwd'>
<input type='submit' value='Submit'>
</form>
--process.asp-------
<%
Dim userID, pwd
userID=request.form("userID"

pwd=request.form("pwd"
Dim sql
sql = "select * from tblUsers WHERE (((usrID)='" & userID & "') AND ((usrPWD)='" & pwd & "'));"
'open the database connection and execute the sql statement.
'Look to see if any records show up. If there is...that means there's a match and the user is authorized to be here, if not, kick 'em out.
If Not rs.EOF Then
session("ADminAUth"

= "authorized"
response.redirect("secrete.asp"

Else
session("ADminAUth"

= "unauthorized"
response.redirect("noAccess.asp"

End If
'Close DB connection
%>
--secrete.asp------
<%
'check to see if the user is authorized to be here
'prevents people from just going straight to secrete.asp rather than logging in properly.
If session("ADminAUth"

<> "authorized" Then
response.redirect("noAccess.asp"

response.end
End IF
'design your page.
%>
--noAccess.asp------
<html><body>You do not have access to be here!</body></html>
on the secrete page, if they don't have a session("ADminAUth"

equal to "authorized" then they'll be sent to noAccess.asp and never see that page..otherwise, that current page will be rendered to them.
But, to answer your question, as you can see the session("ADminAUth"

variable was actually set to a value in the code, not by the user. But you can easily set it to a value based on what the user entered like so...
<%
session("userFirstName"

= Request.Form("userFirstName"

Response.write("Hello " & session("userFirstName"

)
%>
And this you can use on any page on the web site without requesting it once it's in the session scope as long as the user is active on your web site.
Hope this clears up any of your confusion. -Ovatvvon :-Q