Identify computer to ignition

I have an application where I need to identify to Ignition which computer the user is using. This is not based on user credentials, but actually which computer they are using. Control of certain things in the system we want to only happen from a specific location.

Ideally we would do this based on IP address (our control network uses static IP addresses). Our system will have access from a control network and also an office network and we’d like to keep anybody on the office network (which is mostly off-site) from doing things like opening valves or other control related functions even if that user would have permission to do these things when they were on site. Using IP address, we could block out the whole network very easily.

1 Like

You can either use scripting - see the system.net library or client SQLTags.

Just to extend on that a little bit, I had a case where my clients were running on dual nic machines and I wanted to know all of the IP addresses. I ended up using the java.net library, and it worked pretty nicely. There are a bunch of other methods that give you even more info as needed. Here’s a quick cluge that gives you the ip and hostnames. :

import java.net as jn
e = jn.NetworkInterface.getNetworkInterfaces();
for i in e:
	j= i.getInetAddresses()
	for k in j:
		print '*******************'
		print k.getHostAddress()
		print k.getHostName()