Authentifier l'utilisateur en utilisant Active Directory/Windows authentication dans MS Access 2007

nous avons application construite sur MSAccess 2007. Nous voulons ajouter un nouveau concept de login utilisateur pour cette application. Je veux authentifier l'utilisateur en utilisant L'authentification Active Directory/Windows.Je veux créer un fichier journal pour cet utilisateur. (comme nous le faisons pour les applications .net utilisant l'authentification des formulaires) Comment puis-je faire cela sur MS Access 2007.

de plus Cette application fonctionne 24 heures, il ne sera pas Arrêt. Il peut y avoir plusieurs utilisateurs utilisant cette application. Comme je l'ai dit ce l'application est utilisée 24 heures sur 24, 7 jours sur 7, Il y a plusieurs changements en cours d'exécution et différents utilisateurs se connectent et se déconnectent. Pendant la session de connexion et de déconnexion de l'utilisateur, nous devons garder une trace de la connexion pour un utilisateur particulier. Cette application utilise SQL server 2005 comme serveur de base de données.

Votre conseiller est d'une grande aide pour moi, pour développer ce type de module sur MS Access 2007

1
demandé sur abhi 2011-04-29 18:01:23

2 réponses

puisque l'utilisateur doit se connecter au pc, alors vous pouvez simplement saisir leur connexion en utilisant le code de http://www.mvps.org/access/api/api0008.htm :

' 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

et, ce qui suit est un script vbs, mais il devrait fonctionner dans L'accès très bien aussi:

affiche L'appartenance au groupe et L'emplacement du répertoire actif

le le code suivant peut être exécuté pour afficher l'appartenance au groupe d'un Active Directory group et aussi vous faire connaître le LDAP de chaque membre Nom Unique. La sortie va nommer le fichier texte le nom du groupe et inclura tous les membres et leur emplacement en Répertoire. Il suffit de copier dans un fichier txt et renommer .vbs Profitez-en!

Set objGroup = GetObject(“LDAP://cn=GroupName,ou=OUName,DC=DomainName,DC=local“)
Set objFileSystem = CreateObject(“Scripting.FileSystemObject”)
Set objFile = objFileSystem.OpenTextFile(objGroup.Get(“name”) & ” – Members.txt“, 2, True, 0)
For Each objMember in objGroup.Members
  objFile.WriteLine objMember.Get(“sAMAccountName”) & VbTab & _
    objMember.Get(“cn”) & VbTab & _
    objMember.Parent
Next
Set objFile = Nothing
Set objFileSystem = Nothing
Set objGroup = Nothing
0
répondu Albert D. Kallal 2017-04-07 06:15:29

C#.Net utiliser

Console.WriteLine("UserName: {0}", Environment.UserName);
0
répondu anon 2017-04-07 06:35:30