feat: 完成 issue #151 用户/角色管理页补充角色权限矩阵视图(PRD 5.7)
This commit is contained in:
@@ -78,6 +78,15 @@
|
|||||||
<div class="hint">配置后登录页出现「企业 SSO 登录」入口(标准 OIDC 授权码流程);
|
<div class="hint">配置后登录页出现「企业 SSO 登录」入口(标准 OIDC 授权码流程);
|
||||||
未配置走本地账号。令牌换会话的后端端点待 IAM 就绪后对接(见 README)。</div>
|
未配置走本地账号。令牌换会话的后端端点待 IAM 就绪后对接(见 README)。</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="panel" style="margin-top:12px">
|
||||||
|
<h2>角色权限矩阵(PRD 5.7,对齐 rbac.py Resource×Action)</h2>
|
||||||
|
<table id="perm-matrix">
|
||||||
|
<thead><tr><th>角色</th><th>查看 view</th><th>配置 edit</th><th>发布/回滚 publish</th><th>用户管理 manage</th></tr></thead>
|
||||||
|
<tbody></tbody>
|
||||||
|
</table>
|
||||||
|
<div class="hint">矩阵即前端门控依据:配置台写按钮按会话角色置灰(Viewer 只读 /
|
||||||
|
Editor 可配置 / Publisher 可发布回滚),本页仅 admin 可见。</div>
|
||||||
|
</div>
|
||||||
<div class="panel" style="margin-top:12px">
|
<div class="panel" style="margin-top:12px">
|
||||||
<h2>审计日志(写操作落日志,最近 500 条)</h2>
|
<h2>审计日志(写操作落日志,最近 500 条)</h2>
|
||||||
<div id="audit-list"></div>
|
<div id="audit-list"></div>
|
||||||
|
|||||||
@@ -117,5 +117,31 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
renderUsers();
|
renderUsers();
|
||||||
|
renderPermMatrix();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/* 角色权限矩阵展示(issue #151 验收:矩阵生效可见;与 studio 门控同源) */
|
||||||
|
var PERM_MATRIX = {
|
||||||
|
readonly: { view: true, edit: false, publish: false, manage: false },
|
||||||
|
engineer: { view: true, edit: true, publish: false, manage: false },
|
||||||
|
admin: { view: true, edit: true, publish: true, manage: true }
|
||||||
|
};
|
||||||
|
function renderPermMatrix() {
|
||||||
|
var tbody = document.querySelector("#perm-matrix tbody");
|
||||||
|
tbody.innerHTML = "";
|
||||||
|
UserStore.ROLES.forEach(function (r) {
|
||||||
|
var tr = document.createElement("tr");
|
||||||
|
var td = document.createElement("td");
|
||||||
|
td.textContent = UserStore.ROLE_LABELS[r];
|
||||||
|
td.className = "role-" + r;
|
||||||
|
tr.appendChild(td);
|
||||||
|
["view", "edit", "publish", "manage"].forEach(function (a) {
|
||||||
|
var c = document.createElement("td");
|
||||||
|
c.textContent = PERM_MATRIX[r][a] ? "✓" : "✗";
|
||||||
|
c.style.color = PERM_MATRIX[r][a] ? "#2ecc71" : "#64748b";
|
||||||
|
tr.appendChild(c);
|
||||||
|
});
|
||||||
|
tbody.appendChild(tr);
|
||||||
|
});
|
||||||
|
}
|
||||||
})();
|
})();
|
||||||
|
|||||||
Reference in New Issue
Block a user