I am wondering what strategies can be used to handle user authentication and authorization in a cross-platform distributed system. I would like to be able to mark actions in the system as belonging to a specific user, and also allow certain users to perform certain actions.
Background:
Currently, the system is used only under Windows, where actions initiated by the user are currently marked only by those coming from a specific user machine. The action mainly involves using the processor to perform some calculations and return the result.
There is currently no permission for what has been done, and no user authentication (or between computers). The system works as a service with low privileges (using the NETWORK SERVICE account). Data is not sensitive, and all users on the local network are allowed to use the system in their hearts.
The system can be deployed both in homogeneous settings of a Windows domain, and in workgroups without a domain controller or with a domain connection together with a bunch of working computers that do not belong to the domain.
Problem
To add functionality to the system, say, for example, to collect usage statistics for each user or to display who uses the computer, it is necessary to monitor individual users. In addition to this, if certain actions should be allowed only to certain users (for example, change some settings for the system), an authorization form is also required.
Windows , Windows , Windows. - , - .
, Mac OSX? Linux? , Windows, - OSX Linux? ( ..). , .
- ? "-" - , , , .
++, , , , ++. ( ) !
Update:
, :
A 1, Windows.
A , 2 ( Linux) . , A , .
A , / .