One thing you can do is simply use windows security, if your environment is such that you are comfortable with that. Below is the code from
to get the user name (this is not the only way, but it is one that I have used, and it works). This way, you are confirming the user that is logged into windows, and the security/passowrd that is needed to log into windows. Then just parse your forms against that username, and give them whatever they are eligible for. This way your user doesn't have to log in twice. Of course, this isn't perfect and your environment may not be friendly to this approach.
******************** Code Start **************************
' This code was originally written by Dev Ashish.
' It is not to be altered or distributed,
' except as part of an application.
' You are free to use it in any application,
' provided the copyright notice is left unchanged.
'
' Code Courtesy of
' Dev Ashish
'
Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Function fOSUserName() As String
' Returns the network login name
Dim lngLen As Long, lngX As Long
Dim strUserName As String
strUserName = String$(254, 0)
lngLen = 255
lngX = apiGetUserName(strUserName, lngLen)
If ( lngX > 0 ) Then
fOSUserName = Left$(strUserName, lngLen - 1)
Else
fOSUserName = vbNullString
End If
End Function