I am trying to implement a pre-logon authentication provider. Following the
library documentation, I have got as far as creating an implementation of
ICredentialProvider, which is registered as a PLAP provider. This in turn
generates an IConnectableCredentialProviderCredential instance.
This much works: if I log off, then press Ctrl+Alt+Del, my dialog box pops
up. I have done this by calling it as soon as the credential is created.
However, that is not what I want: I want it to pop up when the Network logon
button is pressed.
As far as I can see, none of the credential methods are called during
pre-logon. In fact, unless I install other PLAP providers, the Network logon
button doesn't even appear.
I should point out that this credential is based on an existing standard
credential provider, which works, so I know the basic mechanism is correct. I
just need to know what else I need to do to detect when the Network logon
button is clicked.
IFACEMETHODIMP QueryInterface(__in REFIID riid, __deref_out void** ppv)
{
static const QITAB qit[] =
{
QITABENT(CSampleConnectableCredential, ICredentialProviderCredential), // IID_ICredentialProviderCredential
QITABENT(CSampleConnectableCredential, IConnectableCredentialProviderCredential), // IID_ICredentialProviderCredential
{0},
};
return QISearch(this, qit, riid, ppv);
}
then you need to only implement case CPUS_PLAP: SetUsageScenario switch the other scenarios should be:
case CPUS_LOGON:
case CPUS_CHANGE_PASSWORD:
case CPUS_UNLOCK_WORKSTATION:
case CPUS_CREDUI:
hr = E_NOTIMPL;
break;
I think that should give you what you want.
> On Friday, June 04, 2010 4:49 AM Robin Withey wrote:
> Hi,
>
> I am trying to implement a pre-logon authentication provider. Following the
> library documentation, I have got as far as creating an implementation of
> ICredentialProvider, which is registered as a PLAP provider. This in turn
> generates an IConnectableCredentialProviderCredential instance.
>
> This much works: if I log off, then press Ctrl+Alt+Del, my dialog box pops
> up. I have done this by calling it as soon as the credential is created.
> However, that is not what I want: I want it to pop up when the Network logon
> button is pressed.
>
> As far as I can see, none of the credential methods are called during
> pre-logon. In fact, unless I install other PLAP providers, the Network logon
> button does not even appear.
>
> I should point out that this credential is based on an existing standard
> credential provider, which works, so I know the basic mechanism is correct. I
> just need to know what else I need to do to detect when the Network logon
> button is clicked.
> Submitted via EggHeadCafe - Software Developer Portal of Choice
> AJAX Web Service Driven Customers Table With Customer Details
> http://www.eggheadcafe.com/tutorials/aspnet/4c3d2726-d99e-4f83-9e49-0d4867b6271a/ajax-web-service-driven-customers-table-with-customer-details.aspx