# Capsule-Casbin **Repository Path**: supergame/Capsule-Casbin ## Basic Information - **Project Name**: Capsule-Casbin - **Description**: 基于jCasbin轻量化实现权限管理系统,对齐KeyCloak、Spring Security、Shiro - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2021-12-07 - **Last Updated**: 2021-12-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Capsule-Casbin #### 介绍 基于jCasbin轻量化实现权限管理系统,对齐KeyCloak、Spring Security、Shiro 用户信息管理单独应用,用户权限管理单独应用,前端页面如何控制显隐,dubbo如何使用它进行鉴权,解决应用哥应用之间调用的权限管理,rest服务之间调用如何校验权限 用户信息管理单独应用,用户权限管理单独应用,前端页面如何控制显隐,dubbo如何使用它进行鉴权,解决应用哥应用之间调用的权限管理,rest服务之间调用如何校验权限 xss脚本攻击,返回数据时需要替换掉敏感字符 CSRF需要有个token放到header里,是否可以结合方案里的cookie优化一下,增加一个系统标识,放到header里? 注册账号也要使用验证码,防止使用工具恶意注册账号 滑块验证码: https://juejin.im/entry/5d78bfef5188251943419afb https://juejin.im/entry/5d5218b65188255b68561e2f SSO统一登录流程 https://juejin.im/entry/584e0ac461ff4b0058e63646 基于jCarbin轻量化实现 二级缓存,应用级别,内部缓存forcer验证结果 同一个token除非登录才能刷新,退出才能清除,过时才能清除 用户注册页面?需不需要邮箱验证,找回账号、密码 游戏登录,如果用户不存在需要自动创建不?游戏场景里需要,这类接口要分配一个域?client id?一个权限?秘钥? domain client/sub cridential obj/url/resource Act sso page register、login、logout GET sso game register、login、logout POST sso weixin register、login、logout POST 微信登录? public services表:默认为public services域,使用一个enforcer,系统和系统之间调用的凭证及权限验证 app_id_1 app_id_2 obj/url/resource Act 静态token用于生成jwt token校验的凭证,也算是登录一次 app_id_2 应用信息表:, domain每个产品的app id,如wiki.capsule.aaa.bbb,用于区分用哪个enforcer cridential为各个子应用的静态token 页面客户端、微信客户端、游戏客户端都是一个产品(client),SSO登录也是一个产品(client),他们都属于public services域内的 用户-角色-资源(权限点)关系表:每个应用内部用户权限管理,每个domain下的一个子应用一个enforcer user_role_relation:domain, user, role role_resource_relation: domain, role, resource 查当前用户具有哪些权限需要走中台,中台去权限中心获取,不能直接去权限中心获取,同一个用户登录不同系统,会获取到不同系统内该用户的角色即可 RBAC模型: user,role,obj,domain 不登录即可访问 登录即可访问 有权限点的前提是必须登录,登录了之后再校验权限点,未登录则直接跳转到统一登录页面 过滤器、拦截器还是AOP? 需要获取方法上的自定义注解,如果没有则直接访问,如果有@AllLoginUsers则判断是否已登录则可以放行,@PermissionPoint先判断是否登录,再调用权限中心判断当前用户是否有权限 https://www.cnblogs.com/tianlong/p/10310372.html