V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ruoxie  ›  全部回复第 32 页 / 共 32 页
回复总数  628
1 ... 23  24  25  26  27  28  29  30  31  32  
2019-01-28 10:14:22 +08:00
回复了 zhuzhibin 创建的主题 程序员 有人用过 casbin?后台权限管理你们一般如何选型?
自己实现一下 RBAC 就已经够用,要做到数据权限控制,那就是 ABAC 了,可以在 RBAC 的基础上做扩展
2019-01-25 09:35:10 +08:00
回复了 DemonQ 创建的主题 程序员 写了一点常用的 CSS 总结,欢迎星星
2019-01-24 18:15:35 +08:00
回复了 DemonQ 创建的主题 程序员 写了一点常用的 CSS 总结,欢迎星星
你的猫被我偷走了
2018-10-13 17:12:04 +08:00
回复了 Oathbinder 创建的主题 数据库 如何避免数据库中一个属性外键引用多个表
很久不用物理外键了,都是程序里实现逻辑外键
2018-10-12 17:02:59 +08:00
回复了 stebest 创建的主题 Blogger 晒博客,求 py
之前写一个 demo,直接移除 dom 元素可能比 display="none"好一点
<template>
<div>
<v-btn color="primary">正常按钮</v-btn>
<!--arg:role,function modifiers:all any default:any -->
<v-btn color="success" v-permission:function.all="permission">权限按钮</v-btn>
<br>
<v-btn color="error" @click="updatePermission">更新按钮所需权限</v-btn>
</div>
</template>
<script>
const USER_PERMISSION=["FUNCTION_USER_ADD","FUNCTION_USER_DEL"];
const USER_ROLE=["ROLE_TEST1","ROLE_TEST2"];
export default {
data() {
return {
permission:['FUNCTION_USER_ADD','FUNCTION_USER_DEL'],
flag:true
};
},
methods:{
updatePermission(){
this.permission=this.flag?["USER_TEST3"]:['FUNCTION_USER_ADD','FUNCTION_USER_DEL'];
this.flag=!this.flag;
}
},
directives: {
permission: {
// 指令的定义
bind: function(el,binding) {
let checkCodes=[];
if(binding.arg==="function"){
checkCodes=USER_PERMISSION;
}else if(binding.arg==="role"){
checkCodes=USER_ROLE;
}else{
checkCodes=USER_PERMISSION.join(USER_ROLE);
}
let access=true;
if(binding.modifiers.all){
for(let need of binding.value){
if(!checkCodes.some(s=>s===need)){
access=false;
break;
}
}
}else{
access=false;
for(let need of binding.value){
if(checkCodes.some(s=>s===need)){
access=true;
break;
}
}
}
if(!access){
el.style.display="none";
}
console.log("bind:"+JSON.stringify(binding),access);
},
update:function(el,binding){
let checkCodes=[];
if(binding.arg==="function"){
checkCodes=USER_PERMISSION;
}else if(binding.arg==="role"){
checkCodes=USER_ROLE;
}else{
checkCodes=USER_PERMISSION.join(USER_ROLE);
}
let access=true;
if(binding.modifiers.all){
for(let need of binding.value){
if(!checkCodes.some(s=>s===need)){
access=false;
break;
}
}
}else{
access=false;
for(let need of binding.value){
if(checkCodes.some(s=>s===need)){
access=true;
break;
}
}
}
if(!access){
el.style.display="none";
}else{
el.style.display="inline-flex";
}
console.log("update:"+JSON.stringify(binding),access);
}
}
}
};
</script>
2018-10-12 09:50:35 +08:00
回复了 Jaeger 创建的主题 程序员 你们的开源项目的官网都是用什么搭建的?
一个快速生成后端模拟数据的工具
Github:https://github.com/wjkang/lazy-mock
特点:
轻松对接 mock.js ,faker.js 等假数据生成工具
不需要数据库,直接持久化数据到 JSON 文件
相比 json-server 单 JSON 文件,支持一个实体一个 JSON 文件
默认包含了 jwt 实现的登录与登出,基于 RBAC 模型的权限控制
使用 async/await 处理异步问题
MVC 代码分层结构
内置简单代码生成器
1 ... 23  24  25  26  27  28  29  30  31  32  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5916 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 02:29 · PVG 10:29 · LAX 19:29 · JFK 22:29
Developed with CodeLauncher
♥ Do have faith in what you're doing.