Hi, New Access/VBA User question on Security

  • Thread starter Thread starter Snuffleupagus
  • Start date Start date
S

Snuffleupagus

Guest
Hello everyone,

I am very new to Access and VBA and I am trying to create a database with some security using the users logon information. The database is going to placed directly in a shared folder on a server and everyone will be accessing it via a shortcut. I have no way of telling whether the clients accessing it at any given time will be Windows 9x or Windows NT/2000 machines. I am thinking of validating the users username, password, and domain with NT challenge, or something.

I am trying to prevent these people from copying my database to another server of another network. What I came up with is to use the current network domain info. When the database is run for the very first time, it looks for the domain info, places it in a hidden table, then whenever the database is used after that, it checks to see that the current domain info matches what it has saved.

Is what I am trying to do possible? I have seen some code examples that will work for username, password, and even domain validation but it is only for NT/2000 machines. I have also seen something for Windows 9x, but those examples require that I make some changes on the network settings of those Windows 9x machines which I will not do. I am not their sysadmin and this project is one time deal. The person who asked me for this database was specific about preventing any of his employees from copying the database from the server and copying it to another network.

If I can't use the username/password route, I atleast want to be able to get the network domain (it's an NT domain) info and use that.

Thanks in advance
 
Domain Name / NT Logon Challenging

Snuffle,
There are a couple things you could do.

http://pub95.ezboard.com/fcodesmithguildfrm20.showMessage?topicID=8.topic

Check that link out for capturing logon names.

Another option is splitting the db and locking the back-end down to the server in a hidden folder and hiding the access window. This stops the users from opening the database and accessing anything. The upside is you have complete control over where the users move around in your database.

If you don't create a form or report to access the data from the back end...they can't view it. PERIOD

http://pub95.ezboard.com/fcodesmithguildfrm20.showMessage?topicID=2.topic

This link will take you to the code I use to hide the access window. It is quite beautiful, BUT a user will not be able to customize their reports, or anything unless you do it for them...or show them how to open it and where the back end is.

Just a thought.
 
Hi Randomblink, thank you for replying.

I am more interested in grabbing the Domain the user is logging into than in the actual username and password validation. One of the criterias given for this project is that nobody can take a copy of it and put it on another network.

I have found ways to validate usernames and passwords for NT/2000 and another set of ways for 9x/ME. Which is great. And I like your idea of hiding the database. I did not think of that either. But I still have the problem of preventing anyone from moving this database to another network.

I have to find a way of finding that domain information. I found one for NT/2000. It is getting it from 9x/ME systems that I am currently at a loss. :(

Any ideas?

Thanks in advance,
Snuffleupagus:
 
I see potential problems if you try to grab the location info when the db is first opened. What if the user opens the db on their hard drive first? Then they could take the db file to another computer and use the db on any other PC as long as the db is opened in the same folder. If the file is distributed via email, then the home directory would probably be their C:\Windows\Temp\ directory.

If the db will be opened (located) in the same location (server) for all users, then you could store the server\partition\folder location and the drive letter would not matter. We use NT servers and our server\partition\folder locations look like this...

\\ServerName\PartitionName\FolderName\

You could use the Dir funtion to test if the current db is located in the right location and if not, close the db.

HTH
 
Hi Ghudson,

That is an excellent idea. I never even thought about that. Thanks. :)

I have also now gotten a code that will ist what's in network neighborhood. It lists all domains/workgroups present. I am now looking into this. It appears now that 9x/ME do not support domain stuffs.

Copying between machines as long as they are in the same network is not really a concern. It is making sure they stay on that network that is what was throwing me in a loop.

Thank you for your help. I truly appreciate it.

Snuffleupagus
 
Last edited:

Users who are viewing this thread

Back
Top Bottom