Pārlūkot izejas kodu

权限日志管理接口联调

林倩 4 gadi atpakaļ
vecāks
revīzija
c6b5f6ccb2

+ 49 - 0
src/api/permiss-log-manage.js

@@ -0,0 +1,49 @@
+/**
+ 授权日志管理接口
+ @author linqian
+ @Date:2021-05-27
+ */
+import request from "@/utils/request";
+const baseUrl = "/auditsvr/v2";
+
+/********************************************** 授权管理日志 *********************************************/
+
+// tableUrl
+export const authManageLogTableUrl = `${baseUrl}/authorizeLog/_search`;
+
+// 日志详情
+export function getAuthManageLogDetail(id) {
+    return request({
+        url: `${baseUrl}/authorizeLog/${id}`,
+        method: "GET"
+    });
+}
+
+/********************************************** 鉴权服务日志 *********************************************/
+
+// tableUrl
+export const authServiceLogTableUrl = `${baseUrl}/authenticationLog/_search`;
+
+// 日志详情
+export function getAuthServiceLogDetail(id) {
+    return request({
+        url: `${baseUrl}/authenticationLog/${id}`,
+        method: "GET"
+    });
+}
+
+// 统计信息tableUrl
+export const authServiceLogStatisticsTableUrl = `${baseUrl}/authenticationLog/statistics`;
+
+
+/********************************************** 鉴权风险日志 *********************************************/
+// tableUrl
+export const authRiskLogTableUrl = `${baseUrl}/riskProgramme/_search`;
+
+// 日志详情
+export function getAuthRiskLogDetail(id) {
+    return request({
+        url: `${baseUrl}/riskProgramme/${id}`,
+        method: "GET"
+    });
+}

+ 120 - 0
src/pages/log-manage/permiss-log-manage/DataConfig.js

@@ -0,0 +1,120 @@
+/**
+ * 表头配置
+ * @Author: linqian
+ * @Date: 2021-05-27 11:33
+ */
+
+// 授权管理日志
+export const authManageLogTableHeader = [
+    {
+        label: "授权管理类型",
+        prop: "authorizeType",
+        enum: "AuthorizeTypeEnum"
+    },
+    {
+        label: "权限处理主体",
+        prop: "authorizeSubjectNames"
+    },
+    {
+        label: "授权管理客体",
+        prop: "authorizeObjectNames"
+    },
+    {
+        label: "权限处理者",
+        prop: "authorizeHandlerNames"
+    },
+    {
+        label: "权限处理者身份证号码",
+        prop: "authorizeHandlerIdcards"
+    },
+    {
+        label: "处理时间",
+        prop: "createTime",
+        timestamp: true,
+        format: "YYYY-MM-DD HH:mm:ss"
+    }
+];
+
+// 鉴权服务日志
+export const authServiceLogTableHeader = [
+    {
+        label: "用户姓名",
+        prop: "userName"
+    },
+    {
+        label: "用户身份证号码",
+        prop: "userIdcard"
+    },
+    {
+        label: "鉴权请求者",
+        prop: "requesterName"
+    },
+    {
+        label: "请求者唯一标识",
+        prop: "requesterId"
+    },
+    {
+        label: "鉴权时间",
+        prop: "createTime",
+        timestamp: true,
+        format: "YYYY-MM-DD HH:mm:ss"
+    },
+    {
+        label: "终端标识",
+        prop: "terminalId"
+    }, {
+        label: "鉴权令牌",
+        prop: "tokens"
+    }, {
+        label: "鉴权类型",
+        prop: "authenticationType",
+        enum: "AuthenticationTypeEnum"
+    }, {
+        label: "鉴权结果",
+        prop: "state",
+        enum: "AuthenticationResultEnum"
+    }
+]
+
+// 鉴权风险日志
+export const authRiskLogTableHeader = [
+    {
+        label: "风险产生方",
+        prop: "creater"
+    }, {
+        label: "风险产生方标识",
+        prop: "createrId"
+    }, {
+        label: "风险发生时间",
+        prop: "createTime",
+        timestamp: true,
+        format: "YYYY-MM-DD HH:mm:ss"
+    }, {
+        label: "风险类型",
+        prop: "riskType",
+        enum: "RiskProgrammeTypeEnum"
+    }, {
+        label: "鉴权请求方",
+        prop: "requesterName"
+    }, {
+        label: "命中规则",
+        prop: "targetRule"
+    }
+]
+
+// 鉴权行为统计
+export const authServiceStatisticsTableHeader = [
+    {
+        label: "鉴权类型",
+        prop: "type"
+    }, {
+        label: "鉴权成功次数",
+        prop: "susSize"
+    }, {
+        label: "鉴权失败次数",
+        prop: "failSize"
+    }, {
+        label: "鉴权总次数",
+        prop: "totalSize"
+    }
+]

+ 123 - 0
src/pages/log-manage/permiss-log-manage/auth-manage-log.vue

@@ -0,0 +1,123 @@
+<!--
+授权管理日志
+@Author: linqian
+@Date: 2021-05-27 11:29
+-->
+<template>
+    <div>
+        <!-- 搜索项 -->
+        <el-form ref="ruleForm" inline :model="form">
+            <el-form-item label="授权管理类型">
+                <dg-select v-model="form.authorizeType.value" placeholder="" enum="AuthorizeTypeEnum" clearable>
+                </dg-select>
+            </el-form-item>
+            <el-form-item label="处理时间">
+                <dg-date-picker
+                    v-model="form.createTime.value"
+                    type="daterange"
+                    range-separator="至"
+                    start-placeholder="开始日期"
+                    end-placeholder="结束日期"
+                    clearable
+                    value-format="yyyyMMddHHmmss"
+                >
+                </dg-date-picker>
+            </el-form-item>
+            <el-form-item label="授权处理者">
+                <el-input v-model="form.authorizeHandlerNames.value" placeholder="" clearable></el-input>
+            </el-form-item>
+            <el-form-item>
+                <dg-button type="primary" @click="handleSearch" icon="el-icon-search">查询</dg-button>
+                <dg-button type="primary" @click="handleReset" icon="el-icon-refresh-right">重置</dg-button>
+            </el-form-item>
+        </el-form>
+        <!-- 表格 -->
+        <Table ref="myTable" :url="authManageLogTableUrl" :headerData="authManageLogTableHeader" :condition="form">
+            <dg-table-column fixed="right" label="操作" align="center">
+                <template slot-scope="scope">
+                    <div class="u-table__operation">
+                        <el-tooltip content="详情" effect="dark" placement="top-end">
+                            <i class="el-icon-document" @click="handleViewDetail(scope.row)"></i>
+                        </el-tooltip>
+                    </div>
+                </template>
+            </dg-table-column>
+        </Table>
+    </div>
+</template>
+
+<script>
+import Table from "@/pages/common/table";
+import detail from "./log-detail/auth-manage";
+import { authManageLogTableHeader } from "./DataConfig";
+import { authManageLogTableUrl } from "@/api/permiss-log-manage";
+export default {
+    components: {
+        Table
+    },
+    data() {
+        return {
+            authManageLogTableUrl,
+            authManageLogTableHeader,
+            form: {
+                authorizeType: {
+                    value: "",
+                    op: "="
+                },
+                authorizeHandlerNames: {
+                    value: "",
+                    op: "like"
+                },
+                createTime: {
+                    value: [],
+                    op: "between"
+                }
+            }
+        };
+    },
+    computed: {},
+    methods: {
+        /**
+         *  详情
+         */
+        handleViewDetail(row) {
+            const layer = this.$dgLayer({
+                title: `详情`,
+                shade: [0.4, "#FFF"],
+                content: detail,
+                props: {
+                    id: row.id
+                },
+                on: {
+                    success() {
+                        layer.close(layer.dialogIndex);
+                    }
+                },
+                area: ["900px", "800px"]
+            });
+        },
+        /**
+         * 查询
+         */
+        handleSearch() {
+            this.$refs.myTable.handleSearchClick();
+        },
+        /**
+         * 重置
+         */
+        handleReset() {
+            for (const key in this.form) {
+                this.form[key].value = "";
+            }
+        }
+    },
+    created() {
+          // const startTime =  this.$moment().subtract("1", "year").format("YYYYMMDD");
+            // const endTime = this.$moment().format("YYYYMMDD");
+    },
+    mounted() {}
+};
+</script>
+
+<style lang='scss'>
+</style>

+ 38 - 0
src/pages/log-manage/permiss-log-manage/auth-risk-log.vue

@@ -0,0 +1,38 @@
+<!--
+鉴权风险日志
+@Author: linqian
+@Date: 2021-05-27 11:33
+-->
+<template>
+    <div>
+      鉴权风险日志
+    </div>
+</template>
+
+<script>
+    export default {
+        components: {
+
+        },
+        data () {
+            return {
+
+            };
+        },
+        computed: {
+
+        },
+        methods: {
+
+        },
+        created() {
+
+        },
+        mounted() {
+
+        }
+}
+</script>
+
+<style lang='scss'>
+</style>

+ 144 - 0
src/pages/log-manage/permiss-log-manage/auth-service-log.vue

@@ -0,0 +1,144 @@
+<!--
+鉴权管理日志
+@Author: linqian
+@Date: 2021-05-27 11:30
+-->
+
+<template>
+    <div>
+        <!-- 搜索项 -->
+        <el-form ref="ruleForm" inline :model="form">
+            <el-form-item label="用户姓名">
+                <el-input v-model="form.userName.value" placeholder="" clearable></el-input>
+            </el-form-item>
+            <el-form-item label="用户身份证号码">
+                <el-input v-model="form.userIdcard.value" placeholder="" clearable></el-input>
+            </el-form-item>
+            <el-form-item label="鉴权类型">
+                <dg-select
+                    v-model="form.authenticationType.value"
+                    placeholder=""
+                    enum="AuthenticationTypeEnum"
+                    clearable
+                >
+                </dg-select>
+            </el-form-item>
+            <el-form-item label="鉴权时间">
+                <dg-date-picker
+                    v-model="form.createTime.value"
+                    type="daterange"
+                    range-separator="至"
+                    start-placeholder="开始日期"
+                    end-placeholder="结束日期"
+                    clearable
+                    value-format="yyyyMMddHHmmss"
+                >
+                </dg-date-picker>
+            </el-form-item>
+            <el-form-item label="鉴权结果">
+                <dg-select v-model="form.state.value" placeholder="" enum="AuthenticationResultEnum" clearable>
+                </dg-select>
+            </el-form-item>
+            <el-form-item>
+                <dg-button type="primary" @click="handleSearch" icon="el-icon-search">查询</dg-button>
+                <dg-button type="primary" @click="handleReset" icon="el-icon-refresh-right">重置</dg-button>
+            </el-form-item>
+        </el-form>
+        <!-- 表格 -->
+        <Table ref="myTable" :url="authServiceLogTableUrl" :headerData="authServiceLogTableHeader" :condition="form">
+            <dg-table-column fixed="right" label="操作" align="center">
+                <template slot-scope="scope">
+                    <div class="u-table__operation">
+                        <el-tooltip content="详情" effect="dark" placement="top-end">
+                            <i class="el-icon-document" @click="handleViewDetail(scope.row)"></i>
+                        </el-tooltip>
+                    </div>
+                </template>
+            </dg-table-column>
+        </Table>
+    </div>
+</template>
+
+<script>
+import Table from "@/pages/common/table";
+import detail from "./log-detail/auth-service";
+import { authServiceLogTableHeader } from "./DataConfig";
+import { authServiceLogTableUrl } from "@/api/permiss-log-manage";
+export default {
+    components: {
+        Table
+    },
+    data() {
+        return {
+            authServiceLogTableHeader,
+            authServiceLogTableUrl,
+            form: {
+                userName: {
+                    value: "",
+                    op: "like"
+                },
+                userIdcard: {
+                    value: "",
+                    op: "like"
+                },
+                authenticationType: {
+                    value: "",
+                    op: "="
+                },
+                createTime: {
+                    value: [],
+                    op: "between"
+                },
+                state: {
+                    value: "",
+                    op: "="
+                }
+            }
+        };
+    },
+    computed: {},
+    methods: {
+        /**
+         *  详情
+         */
+        handleViewDetail(row) {
+            const layer = this.$dgLayer({
+                title: `详情`,
+                shade: [0.4, "#FFF"],
+                content: detail,
+                props: {
+                    id: row.id
+                },
+                on: {
+                    success() {
+                        layer.close(layer.dialogIndex);
+                    }
+                },
+                area: ["900px", "800px"]
+            });
+        },
+        /**
+         * 查询
+         */
+        handleSearch() {
+            this.$refs.myTable.handleSearchClick();
+        },
+        /**
+         * 重置
+         */
+        handleReset() {
+            for (const key in this.form) {
+                this.form[key].value = "";
+            }
+        }
+    },
+    created() {
+        // const startTime =  this.$moment().subtract("1", "year").format("YYYYMMDD");
+        // const endTime = this.$moment().format("YYYYMMDD");
+    },
+    mounted() {}
+};
+</script>
+
+<style lang='scss'>
+</style>

+ 79 - 0
src/pages/log-manage/permiss-log-manage/log-detail/auth-manage.vue

@@ -0,0 +1,79 @@
+<!--
+授权管理日志详情
+@Author: linqian
+@Date: 2021-05-27 15:10
+-->
+<template>
+    <div>
+        <el-form label-width="120px" label-suffix=":">
+            <el-form-item label="授权管理类型">
+                <p class="u-detail__text" v-translate="{ enum: 'AuthorizeTypeEnum' }">{{ detailInfo.authorizeType }}</p>
+            </el-form-item>
+            <el-form-item label="权限处理时间">
+                <p>{{ detailInfo.createTime }}</p>
+            </el-form-item>
+            <dg-row zebra="16px">
+                <dg-table :data="detailInfo.handlers" paging-type="client" :pagination-props="paginationProps">
+                    <dg-table-column prop="handlerName" label="授权处理者"></dg-table-column>
+                    <dg-table-column prop="handlerIdcard" label="权限处理者身份证号码"></dg-table-column>
+                </dg-table>
+            </dg-row>
+            <dg-row zebra="16px">
+                <dg-table :data="detailInfo.subjects" paging-type="client" :pagination-props="paginationProps">
+                    <dg-table-column prop="subjectName" label="权限处理主体"></dg-table-column>
+                    <dg-table-column prop="subjectId" label="权限处理主体ID"></dg-table-column>
+                </dg-table>
+            </dg-row>
+            <dg-row zebra="16px">
+                <dg-table :data="detailInfo.objects" paging-type="client" :pagination-props="paginationProps">
+                    <dg-table-column prop="objectName" label="授权管理客体"></dg-table-column>
+                    <dg-table-column prop="objectId" label="授权管理客体ID"></dg-table-column>
+                </dg-table>
+            </dg-row>
+
+            <el-form-item label="操作内容">
+                <el-input type="textarea" rows="3" v-model="value" placeholder=""></el-input>
+            </el-form-item>
+        </el-form>
+        <div v-footer>
+            <dg-button @click="handleClose">关闭</dg-button>
+        </div>
+    </div>
+</template>
+
+<script>
+import { getAuthManageLogDetail } from "@/api/permiss-log-manage";
+export default {
+    props: {
+        id: [String, Number]
+    },
+    components: {},
+    data() {
+        return {
+            detailInfo: {},
+            value: "",
+            paginationProps: {
+                currentPage: 1,
+                pageSizes: [10, 20],
+                pageSize: 5,
+                layout: "total, prev, pager, next, jumper"
+            }
+        };
+    },
+    computed: {},
+    methods: {
+        handleClose() {
+            this.$emit("close");
+        }
+    },
+    created() {
+        getAuthManageLogDetail(this.id).then((res) => {
+            this.detailInfo = res.data.content;
+        });
+    },
+    mounted() {}
+};
+</script>
+
+<style lang='scss' scoped>
+</style>

+ 38 - 0
src/pages/log-manage/permiss-log-manage/log-detail/auth-risk.vue

@@ -0,0 +1,38 @@
+<!--
+鉴权风险日志详情
+@Author: linqian
+@Date: 2021-05-27 15:17
+-->
+<template>
+    <div>
+        
+    </div>
+</template>
+
+<script>
+    export default {
+        components: {
+
+        },
+        data () {
+            return {
+
+            };
+        },
+        computed: {
+
+        },
+        methods: {
+
+        },
+        created() {
+
+        },
+        mounted() {
+
+        }
+}
+</script>
+
+<style lang='scss'>
+</style>

+ 38 - 0
src/pages/log-manage/permiss-log-manage/log-detail/auth-service.vue

@@ -0,0 +1,38 @@
+<!--
+鉴权服务日志详情
+@Author: linqian
+@Date: 2021-05-27 15:17
+-->
+<template>
+    <div>
+        
+    </div>
+</template>
+
+<script>
+    export default {
+        components: {
+
+        },
+        data () {
+            return {
+
+            };
+        },
+        computed: {
+
+        },
+        methods: {
+
+        },
+        created() {
+
+        },
+        mounted() {
+
+        }
+}
+</script>
+
+<style lang='scss'>
+</style>

+ 40 - 0
src/router/modules/log-manage.js

@@ -37,6 +37,46 @@ const componentsRouter = {
                     }
                 }
             ]
+        },
+        {
+            path: "/permiss-log-manage",
+            component: common,
+            name: "common",
+            redirect: "/permiss-log-manage",
+            alwaysShow: true,
+            meta: { title: "权限日志管理", icon: "el-icon-goods", noCache: true, permission: ["YHGLPT_RZSJGL"] },
+            children: [
+                {
+                    path: "auth-manage-log",
+                    component: () => import("@/pages/log-manage/permiss-log-manage/auth-manage-log"),
+                    name: "auth-manage-log",
+                    meta: {
+                        title: "授权管理日志",
+                        noCache: false,
+                        permission: ["YHGLPT_RZSJGL"]
+                    }
+                },
+                {
+                    path: "auth-service-log",
+                    component: () => import("@/pages/log-manage/permiss-log-manage/auth-service-log"),
+                    name: "auth-service-log",
+                    meta: {
+                        title: "鉴权服务日志",
+                        noCache: false,
+                        permission: ["YHGLPT_RZSJGL"]
+                    }
+                },
+                {
+                    path: "auth-risk-log",
+                    component: () => import("@/pages/log-manage/permiss-log-manage/auth-risk-log"),
+                    name: "auth-risk-log",
+                    meta: {
+                        title: "鉴权风险日志",
+                        noCache: false,
+                        permission: ["YHGLPT_RZSJGL"]
+                    }
+                }
+            ]
         }
     ]
 };