Click to open or copy the files for the GinaStub sample.
This sample illustrates a pass-through "stub" Gina that can be used in some cases to simplify Gina development.
A common use for a Gina is to implement code that requires the credentials of the user logging onto the workstation. The credentials may be required for synchronization with foreign account databases or custom authentication activities.
In this example case, it is possible to implement a simple Gina stub layer that simply passes control for the required functions to the previously installed Gina, and captures the interesting parameters from that Gina. In this scenario, the existing functionality in the existent Gina is retained. In addition, the development time is reduced greatly, as existing functionality does not need to be duplicated.
When dealing with credentials, take steps to maintain the security of the credentials. For instance, if transporting credentials over a network, be sure to encrypt the credentials.
This sample uses the following keywords:
getprocaddress; gwlxactivateusershell; gwlxdisplaylockednotice; gwlxdisplaysasnotice; gwlxinitialize; gwlxislockok; gwlxislogoffok; gwlxloggedonsas; gwlxloggedoutsas; gwlxlogoff; gwlxnegotiate; gwlxscreensavernotify; gwlxshutdown; gwlxstartapplication; gwlxwkstalockedsas; loadlibrary; myinitialize; text; wlxactivateusershell; wlxdisplaylockednotice; wlxdisplaysasnotice; wlxinitialize; wlxislockok; wlxislogoffok; wlxloggedonsas; wlxloggedoutsas; wlxlogoff; wlxnegotiate; wlxscreensavernotify; wlxshutdown; wlxstartapplication; wlxwkstalockedsas