使用触发器来限制账号是否能登入
1. 创建一张表来保存非法时间登入的账号信息
CREATE TABLE [dbo].[sys_login_blocked_log] (
[Id] int IDENTITY(1, 1) NOT NULL,
[session_id] smallint NULL,
[login_time] datetime NULL,
[host_name] nvarchar(128) COLLATE Chinese_PRC_CI_AS NULL,
[original_login_name] nvarchar(128) COLLATE Chinese_PRC_CI_AS NULL,
[client_net_address] varchar(48) COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_LogonLog] PRIMARY KEY CLUSTERED ([Id])
)
ON [PRIMARY]
GO
2. 创建限制登入触发器,
账号 test 登入时间限制为7-17点无法登入
CREATE TRIGGER [tr_logon_CheckTime] ON ALL SERVER
WITH EXECUTE AS 'sa'
FOR LOGON
AS
BEGIN
IF ORIGINAL_LOGIN()='test' AND DATEPART(hh,GETDATE()) BETWEEN 7 AND 17
BEGIN
ROLLBACK;
INSERT INTO [mig_bug].[dbo].[sys_login_blocked_log]
([session_id]
,[login_time]
,[host_name]
,[original_login_name]
,[client_net_address])
SELECT
a.[session_id],a.[login_time],a.[host_name],
a.[original_login_name],b.[client_net_address]
FROM MASTER.sys.dm_exec_sessions a
INNER JOIN MASTER.sys.dm_exec_connections b
ON a.session_id=b.session_id
WHERE a.session_id = @@SPID
END;
END;
GO

- 大小: 175.2 KB
分享到:
相关推荐
6. **优化措施**:为了防止恶意用户尝试登录并强制下线其他用户,可以设置登录失败次数限制,超过次数则锁定账号一段时间。此外,可以使用分布式Session存储,如Redis或Memcached,以支持大规模并发和高可用性。 ...
在我们开发商务软件的时候,常常会遇到这样的一个问题:怎样防止用户重复登录我们的系统?特别是对于银行或是财务部门,更是要限制用户以其工号身份多次登入。 利用SQL Server的全局临时表防止用户重复登录
授权版:一健单,多选切换,动态IP防刷,CC防注,IP自动校验,时间防注,自动防刷锁IP,COOKIE防注,SQL防注,时间控制,IP封锁,最大有效票数控制,间隔控制,外链控制,票数控制等 智睿网络投票评选管理系统特点...
6. **反作弊与安全防护**:登录器可能包含一些防作弊机制,如检查客户端版本、防止模拟器登录、限制异常登录行为等。同时,它还需要防止SQL注入、XSS等常见的网络安全威胁。 7. **多线程与并发处理**:登录器在处理...
限制手机号码长度11位,不满足则抛出异常给调用方;密码、确认密码长度为6位,不符合则抛出异常给调用方;密码、确认密码不相同,也抛出异常给调用方。 (4)注册信息保存到本地一个文件中。 (5)提供登录功能:...
在Java中,由于安全限制,不能直接操作注册表。不过,可以通过JNI(Java Native Interface)或者使用第三方库如JRegKey来实现。JRegKey是一个Java库,允许程序员在Java代码中读写Windows注册表。首先,你需要理解...
套账的基本信息包括套账号(建议从001开始)、套账名称(以单位名称命名)、开始时间(如2010-01-01)以及套账主管信息。建账过程可能需要3到5分钟。 4. 安装CELL插件:最后,选择安装向导中的“”进行CELL插件的...
商家商品分类和平台商品分类分开 √ 商家商品分类不再受到平台限制,使用更灵活 商家后台增加实体店经纬度获取坐标功能 √ 商家填写经纬度获取坐标后,手机端用户可在店铺街查看商家具体坐标。 商家后台PC成交情况...