20260821230656
This commit is contained in:
1 parent
2e5d532f23
commit
c43b4c8364
144 files changed
+7665
-242
No files matched your search
@@ -1,40 +1,46 @@
|
||||
/*
|
||||
登录日志表 s_login_log:记录每次登录尝试(成功/失败)的客户端环境与结果,用于登录审计。
|
||||
登录日志表 s_log_login:记录每次登录尝试(成功/失败)的客户端环境与结果,用于登录审计。
|
||||
后端在登录时统一采集 IP、IP 归属地、浏览器/版本、操作系统/版本、设备类型、原始 User-Agent,
|
||||
并通过通用 saveobjt 接口写入本表;前端通过分页接口只读展示。
|
||||
表名使用 s_ 前缀以区别于业务模块表(b_)。
|
||||
|
||||
说明:表名原为 s_login_log,新系统统一更名为 s_log_login(见《FMS新系统核心表结构设计.md》
|
||||
3.17 与 5.2 旧表映射),列结构同步更新(新增 b_login_type、b_request_id、b_trace_id,
|
||||
时间列由 b_login_time 改为 b_occurdatetime,UTC 存储)。
|
||||
|
||||
可重复执行:通过 sys.tables 存在性判断避免重复建表。
|
||||
*/
|
||||
SET NOCOUNT ON;
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.tables WHERE name = N's_login_log')
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.tables WHERE name = N's_log_login')
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_login_log (
|
||||
CREATE TABLE dbo.s_log_login (
|
||||
b_id bigint NOT NULL,
|
||||
b_org_id nvarchar(50) NULL,
|
||||
b_user_id bigint NULL,
|
||||
b_account nvarchar(50) NULL,
|
||||
b_login_time datetime NOT NULL CONSTRAINT DF_s_login_log_time DEFAULT (GETDATE()),
|
||||
b_ip nvarchar(50) NULL,
|
||||
b_ip_location nvarchar(200) NULL,
|
||||
b_browser nvarchar(100) NULL,
|
||||
b_browser_version nvarchar(50) NULL,
|
||||
b_os nvarchar(100) NULL,
|
||||
b_os_version nvarchar(50) NULL,
|
||||
b_device_type nvarchar(20) NULL,
|
||||
b_user_agent nvarchar(max) NULL,
|
||||
b_login_result int NOT NULL CONSTRAINT DF_s_login_log_result DEFAULT (0),
|
||||
b_account varchar(50) NULL,
|
||||
b_login_type varchar(20) NOT NULL, -- 登录类型:password/token/oidc/ldap
|
||||
b_login_result int NOT NULL CONSTRAINT DF_s_log_login_result DEFAULT (0),
|
||||
b_fail_reason nvarchar(200) NULL,
|
||||
b_session_id nvarchar(50) NULL,
|
||||
CONSTRAINT PK_s_login_log PRIMARY KEY (b_id)
|
||||
b_ip varchar(50) NULL,
|
||||
b_ip_location nvarchar(200) NULL,
|
||||
b_browser varchar(100) NULL,
|
||||
b_browser_version varchar(50) NULL,
|
||||
b_os varchar(100) NULL,
|
||||
b_os_version varchar(50) NULL,
|
||||
b_device_type varchar(20) NULL,
|
||||
b_user_agent nvarchar(max) NULL,
|
||||
b_session_id varchar(50) NULL,
|
||||
b_request_id varchar(64) NULL,
|
||||
b_trace_id varchar(64) NULL,
|
||||
b_occurdatetime datetime2 NULL CONSTRAINT DF_s_log_login_occur DEFAULT (sysutcdatetime()),
|
||||
CONSTRAINT PK_s_log_login PRIMARY KEY (b_id)
|
||||
);
|
||||
|
||||
CREATE INDEX IX_s_login_log_time ON dbo.s_login_log (b_login_time DESC, b_id);
|
||||
CREATE INDEX IX_s_login_log_account ON dbo.s_login_log (b_account, b_login_time DESC);
|
||||
CREATE INDEX IX_s_login_log_result ON dbo.s_login_log (b_login_result, b_login_time DESC);
|
||||
CREATE INDEX IX_s_log_login_user ON dbo.s_log_login (b_user_id, b_occurdatetime DESC);
|
||||
CREATE INDEX IX_s_log_login_account ON dbo.s_log_login (b_account, b_occurdatetime DESC);
|
||||
CREATE INDEX IX_s_log_login_result ON dbo.s_log_login (b_login_result, b_occurdatetime DESC);
|
||||
END
|
||||
|
||||
COMMIT TRANSACTION;
|
||||
@@ -9,7 +9,7 @@ BEGIN TRANSACTION;
|
||||
IF OBJECT_ID(N'dbo.b_user', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.b_user (
|
||||
b_id bigint NOT NULL,
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_account nvarchar(50) NOT NULL,
|
||||
b_name nvarchar(50) NULL,
|
||||
b_department nvarchar(50) NULL,
|
||||
@@ -56,7 +56,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_module', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_module (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_code varchar(50) NOT NULL,
|
||||
b_parent_id bigint NULL,
|
||||
b_name nvarchar(100) NOT NULL,
|
||||
@@ -92,7 +92,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_field', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_field (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_module_id bigint NOT NULL,
|
||||
b_field varchar(50) NOT NULL,
|
||||
b_name nvarchar(100) NOT NULL,
|
||||
@@ -125,7 +125,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_field_group', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_field_group (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_module_id bigint NOT NULL,
|
||||
b_parent_id bigint NULL,
|
||||
b_title nvarchar(100) NOT NULL,
|
||||
@@ -142,7 +142,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_field_view', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_field_view (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_module_id bigint NOT NULL,
|
||||
b_field_id bigint NOT NULL,
|
||||
b_group_id bigint NULL,
|
||||
@@ -159,7 +159,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_field_edit', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_field_edit (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_module_id bigint NOT NULL,
|
||||
b_field_id bigint NOT NULL,
|
||||
b_group_id bigint NULL,
|
||||
@@ -177,7 +177,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_field_query', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_field_query (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_module_id bigint NOT NULL,
|
||||
b_field_module_id bigint NOT NULL,
|
||||
b_field_id bigint NOT NULL,
|
||||
@@ -198,7 +198,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_relation', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_relation (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_code varchar(50) NOT NULL,
|
||||
b_module_id bigint NOT NULL,
|
||||
b_target_module_id bigint NOT NULL,
|
||||
@@ -238,7 +238,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_menu', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_menu (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_parent_id bigint NULL,
|
||||
b_code varchar(50) NOT NULL,
|
||||
b_name nvarchar(100) NOT NULL,
|
||||
@@ -262,7 +262,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_autocode', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_autocode (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_module_id bigint NOT NULL,
|
||||
b_field_id bigint NOT NULL,
|
||||
b_prefix nvarchar(100) NOT NULL CONSTRAINT DF_s_autocode_prefix DEFAULT (N''),
|
||||
@@ -284,7 +284,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_role', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_role (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_code varchar(50) NOT NULL,
|
||||
b_name nvarchar(100) NOT NULL,
|
||||
b_i18n varchar(150) NULL,
|
||||
@@ -305,7 +305,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_user_role', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_user_role (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_user_id bigint NOT NULL,
|
||||
b_role_id bigint NOT NULL,
|
||||
b_canuse int NOT NULL CONSTRAINT DF_s_user_role_canuse DEFAULT (1),
|
||||
@@ -319,7 +319,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_power', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_power (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_code varchar(50) NOT NULL,
|
||||
b_name nvarchar(100) NOT NULL,
|
||||
b_i18n varchar(150) NULL,
|
||||
@@ -346,7 +346,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_role_power', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_role_power (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_role_id bigint NOT NULL,
|
||||
b_power_id bigint NOT NULL,
|
||||
b_effect varchar(10) NOT NULL CONSTRAINT DF_s_role_power_effect DEFAULT ('allow'),
|
||||
@@ -362,7 +362,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_role_scope', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_role_scope (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_role_id bigint NOT NULL,
|
||||
b_module_id bigint NOT NULL,
|
||||
b_operation varchar(20) NOT NULL,
|
||||
@@ -389,7 +389,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_i18n', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_i18n (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_key varchar(150) NOT NULL,
|
||||
b_locale varchar(20) NOT NULL,
|
||||
b_value nvarchar(500) NOT NULL,
|
||||
@@ -404,8 +404,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_log_technical', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_log_technical (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_org_id varchar(50) NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_user_id bigint NULL,
|
||||
b_account varchar(50) NULL,
|
||||
b_sourcetype varchar(20) NULL,
|
||||
@@ -426,15 +425,13 @@ BEGIN
|
||||
CONSTRAINT PK_s_log_technical PRIMARY KEY (b_id)
|
||||
);
|
||||
CREATE INDEX IX_s_log_technical_trace ON dbo.s_log_technical (b_trace_id, b_occurdatetime DESC);
|
||||
CREATE INDEX IX_s_log_technical_org ON dbo.s_log_technical (b_org_id, b_occurdatetime DESC);
|
||||
CREATE INDEX IX_s_log_technical_level ON dbo.s_log_technical (b_loglevel, b_occurdatetime DESC);
|
||||
END;
|
||||
|
||||
IF OBJECT_ID(N'dbo.s_log_login', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_log_login (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_org_id varchar(50) NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_user_id bigint NULL,
|
||||
b_account varchar(50) NULL,
|
||||
b_login_type varchar(20) NOT NULL,
|
||||
@@ -462,7 +459,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_log_audit', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_log_audit (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_event_code varchar(50) NOT NULL,
|
||||
b_module_code varchar(50) NULL,
|
||||
b_data_id varchar(50) NULL,
|
||||
@@ -485,7 +482,7 @@ END;
|
||||
IF OBJECT_ID(N'dbo.s_log_audit_field', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.s_log_audit_field (
|
||||
b_id bigint IDENTITY(1,1) NOT NULL,
|
||||
b_id bigint NOT NULL, -- 雪花主键(应用层生成,全局唯一)
|
||||
b_event_id bigint NOT NULL,
|
||||
b_module_code varchar(50) NULL,
|
||||
b_data_id varchar(50) NULL,
|
||||
|
||||
Reference in new issue
Block a user