System Logon

In order to present a uniform system access model to the user when multiple networks are present, and to control access to certain generic system resources such as the password caching subsystem, a system logon facility is implemented in Windows 95. This has a dialog similar to the logon in Windows for Workgroups. Individual NPs have entrypoints which are called for logon and logoff, which can perform network-specific operations, optionally using the same information (username and password) provided for the system logon or providing additional UI. Since logging off may imply unloading the user's profile (user-specific registry keys), applications are shut down at logoff exactly as if the user had chosen to exit Windows. System components and service applications can detect logon and logoff by listening for the WM_USERCHANGED message to be broadcast.

Because a logon can fail, the user may be logged on to some networks but not others. If the user subsequently tries to use a resource on a network where logon was unsuccessful, the logon is handled as part of the authentication process for that resource.

The user may also have a User Profile (per-user portion of the registry) stored on a network server. Since logon to that network is probably required before the profile can be accessed, one NP can be designated the Primary Logon Provider. That NP is responsible for displaying the logon UI (a service is provided to display a standard dialog) and returning the username and password to MPR. The user is logged on to that network, the profile is loaded, and then logon occurs for other networks.

Logon can also occur when a new network card or other transmission medium is made available to the system (for example, hot-docking a portable, inserting a PCMCIA card, or establishing a dial-up connection). All network providers are called to perform additional logon in these scenarios.