Het is NIET mogelijk en alle tegengestelde beweringen zijn slangenolie.
Hoewel het waar is dat u de naam van de toepassing kunt controleren en aanmeldingstriggers kunt maken die aanmeldingen op basis van deze eigenschap weigeren, is de toepassingsnaam geen veilige eigenschap en kan deze door iedereen gemakkelijk worden vervalst. Vertrouw erop voor beveiliging (d.w.z. inlogweigering) is #fail.
Dus zolang u uw lat lager legt en termen als 'toegang weigeren' uit uw vraag verwijdert, is het mogelijk om een Aanmeldingstrigger
die de program_name
. van de sessie inspecteert in sys.dm_exec_sessions
:
CREATE TRIGGER application_limit_trigger
ON ALL SERVER WITH EXECUTE AS '...'
FOR LOGON
AS
BEGIN
IF EXISTS (SELECT *
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID
AND program_name IN (N'Bad Program', N'Worse Program', N'Unmentionable')
ROLLBACK;
END;
De programmanaam wordt door sommige toepassingen ingesteld, ik weet niet of Office-suite deze eigenschap instelt op iets nuttigs of het standaard laat. En je moet begrijpen dat dit kan worden omzeild door iedereen door simpelweg de ApplicationName te wijzigen eigenschap in de verbindingsreeks.