01-30-2008 05:06 PM
01-31-2008 06:39 PM
Hello Michael,
By using the machine names instead of the IP addresses of the computers, you run the risk of having a non-resolvable IP address from those names. In which case, you can get this error. However, if the IP addresses and computer names are unique, this should not be an issue. Is there a reason why you can't just grant machine access from all computers on the network, then resolve the user when that person logs on?
I'm not sure what you mean by verifying if the domain is on your computer or not. When your program begins, I am assuming that you are using the NI Security Invoke Login Dialog Box in order to have the user log in, or you are doing it in your VI and programatically logging that person on. In which case, you select the domain that you are logging on to. Of course, if you are using remote front panels, then you will be unable to see the pop up dialog...
Of course, using the programatic login, you can be sure that the user is logging into your local machine's domain and not his own, because you can specify the machine, domain, user, and password. If you leave the machine at it's default of localhost, the user will not be able to log on to domains on other machines. Of course, if you want to allow this, you can create a ring control for the machines allowed to log in, so that they don't try to spoof your user name.
I did a little bit of testing on this, and it looks like if you try to login with the same domain name from a different machine, then the login will return with an error, even if you aren't logging in to a name shared in the local domain. Of course, the other thing I noticed during this testing was that the boolean control that I had hidden when logged in as userB, showed up no matter what user I was logged in as.
I'm not sure what the format for the ACL input is. Can you give some context as to why you are using the method?
02-01-2008 11:10 AM - edited 02-01-2008 11:13 AM
Thank you for the reply. Some responses:
>>However, if the IP addresses and computer names are unique, this should not be an issue.
They are unique (all machines receive IP's from the same DHCP server), so I'm still not sure of why I get that error. I can ping them with the -a option and it returns the correct IP every time (or vice versa, ping the IP returns the correct machine name). I had to do as you suggested and grant all machine access.>>I'm not sure what you mean by verifying if the domain is on your computer or not.
Before I was trying to use the Application Property Node NI Security.User to verify whether or not the user is logged into the correct domain. However, this property only returns the domain name and user name, so if I only compared text strings, someone could potentially setup a domain on their machine with the same domain name as the correct domain, and I wouldn't be able to tell the difference. This property would then become useless.>>Of course, using the programatic login, you can be sure that the user is logging into your local machine's domain and not his own, because you can specify the machine, domain, user, and password.
I must be missing something, because I only see domain, user, and password as inputs to the programmatic login. I'm using the Application Invoke method NI Security.Login in LV 8.5. Do you specify the machine as part of the NI Domain input? If so, what is the syntax?
>>I'm not sure what the format for the ACL input is. Can you give some context as to why you are using the method?
I didn't full understand this method (the documentation isn't very clear); I thought I might be able to use it somehow. It seems that no one knows how to use it; I can't find any examples on the forums or elsewhere.I think I've found a decent solution; every person I want to add to the list I create a user name equal to their machine name and a password that is the same to everyone (though unknown to them). Then I just programmatically log them in using their machine name and the default password when the program starts up. If there is an error, the machine name is not a user in the domain, so they won't have access to the button. Someone could still potentially create a local domain with the same name and a user name equal to their machine name, but they shouldn't have access to the password (they have exe's of the program) they would need (this wouldn't be possible if I could specify machine name of the domain, as above).
If you have any insights to my replies or my new proposed solution, I appreciate it.
Michael
02-04-2008 01:46 PM