Try this trigger:
CREATE TRIGGER RAC_logon_trigger
ON ALL SERVER
WITH
EXECUTE AS 'sa'
FOR LOGON
AS
BEGIN
IF ORIGINAL_LOGIN() = '<Specific user name to be restricted>'
AND (
APP_NAME() NOT IN ('.Net SqlClient Data Provider' ,'EntityFramework')
OR
NOT EXISTS (SELECT 1
FROM dbo.Login_Allowed_IP
WHERE IPAddress = CONNECTIONPROPERTY('client_net_address') )
)
BEGIN
ROLLBACK;
INSERT INTO <rejected login logging table>
(
[User] ,HostName ,LoginTime ,SessionId ,AppName
)
SELECT ORIGINAL_LOGIN() , HOST_NAME() ,GETDATE() ,@@SPID ,APP_NAME()
END
END;
GO
_____________
Code for TallyGenerator