跟我学Shiro - 张开涛都绑定 到 SecurityManager,与 Subject 的所有交互都会委托给 SecurityManager;可以把 Subject 认 为是一个门面;SecurityManager 才是实际的执行者; SecurityManager:安全管理器;即所有与安全有关的操作都会与 SecurityManager 交互; 且它管理着所有 Subject;可以看出它是 Shiro 的核心,它负责与后边介绍的其他组件进行 查看/新增/修改/删除用户数据(即很多时候都是 CRUD(增查改删)式权限控制) 打印文档等等。。。 如上可以看出,权限代表了用户有没有操作某个资源的权利,即反映在某个资源上的操作 允不允许,不反映谁去执行这个操作。所以后续还需要把权限赋予给用户,即定义哪个用 户允许在某个资源上做什么操作(权限),Shiro 不会去做这件事情,而是由实现人员提供。 Shiro 支持粗粒度权限(如用户模块的所有 的访问控制(Resource-Based Access Control)”。 授权方式 Shiro 支持三种方式的授权: 编程式:通过写 if/else 授权代码块完成: 注解式:通过在执行的 Java 方法上放置相应的注解完成: 没有权限将抛出相应的异常; JSP/GSP 标签:在 JSP/GSP 页面通过相应的标签完成: 后续部分将详细介绍如何使用。0 码力 | 219 页 | 4.16 MB | 10 月前3
Nacos架构&原理
void delete(byte[] key) throws KvStorageException; ... } 由于 Nacos 的服务模块存储,更多的都是根据单个或者多个唯⼀ key 去执行点查的操作,因此 Key-Value 类型的存储接口最适合不过。而 Key-Value 的存储接口定义好之后,其实就是这个 KVStore 的具体实现了。可以直接将 KVStore 的实现对接 Redis,也可以直接对接 port 信息计算其所属的 Distro 责任节点, 并将该请求转发到所属的 Distro 责任节点上。 责任节点上的 Controller 将写请求进行解析。 Distro 协议定期执行 Sync 任务,将本机所负责的所有的实例信息同步到其他节点上。 读操作 由于每台机器上都存放了全量数据,因此在每⼀次读操作中,Distro 机器会直接从本地拉取数据。 快速响应。 41 > 的需求同样强烈。服 务端健康检查最常见的方式是 TCP 端口探测和 HTTP 接口返回码探测,这两种探测方式因为其协 议的通用性可以支持绝大多数的健康检查场景。在其他⼀些特殊的场景中,可能还需要执行特殊的 接口才能判断服务是否可用。例如部署了数据库的主备,数据库的主备可能会在某些情况下切换, 73 > Nacos 架构 需要通过服务名对外提供访问,保证当前访问的库是主库。此时的健康检查接口,可能就是⼀个检0 码力 | 326 页 | 12.83 MB | 10 月前3
Python 标准库参考指南 3.7.13 ctypes --- Python 的外部函数库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639 17 并发执行 669 17.1 threading --- 基于线程的并行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1443 28.5 timeit --- 测量小代码片段的执行时间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1451 28.6 trace --- 跟踪 Python 语句执行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1469 29.4 zipapp ——管理可执行的 Python zip 打包文件 . . . . . . . . . . . . . . . . . . . . . . . . . 1477 30 Python 运行时服务 1483 30.10 码力 | 1846 页 | 9.09 MB | 10 月前3
大规模微服务架构下的Service Mesh探索之路Report的AdapterMixer反省之一:对性能的影响 ü 按照Istio的设计,每次请求Envoy都 要执行对Mixer的两次远程调用: • 转发前执行Check(包含Quota) • 转发后执行Report ü 我们的观点: • 需要请求同步阻塞等待的功能都应该在 Sidecar中完成 • 远程调用带来的性能开销代价太高 • 其他尽量优化为异步或者批量Istio的解决方案:添加Mixer Cache • 认可这样的抽象和隔离,确实有必要从应用中剥离出来 • 但是要加多一层Mixer,多一次远程调用 • 抽象和隔离在Sidecar层面完成,也是可以达到效果的 • 对于Check和Quota,性能损失太大,隔离的效果并不明显 应用 Sidecar Mixer 基础设施后端 但是多付出一次远程 调用是否有足够必要? 对基础设施后端的访问的确 可以下沉到Service Mesh探讨:何为基础设施后端?是否可以区别对待? 1@cluster2 edge-sidecar : 8.8.8.2@cluster2 edge-sidecar : 8.8.8.3@cluster2 Service-B@zone2 4. Edge sidecar执行服务发现并 转发请求给Service-B的实例7月底北京,第二次Service Mesher线下Meetup 下回分解:增强版Pilot和Edge Sidecar开源策略 Open Source0 码力 | 37 页 | 7.99 MB | 6 月前3
Python 标准库参考指南 3.8.20 ctypes --- Python 的外部函数库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673 17 并发执行 703 17.1 threading --- 基于线程的并行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1476 26.10 test.support.script_helper --- 用于 Python 执行测试工具 . . . . . . . . . . . . . . 1488 27 调试和分析 1491 27.1 审计事件表 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1506 27.6 timeit --- 测量小代码片段的执行时间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1514 27.7 trace --- 跟踪 Python 语句的执行 . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 1927 页 | 9.69 MB | 10 月前3
Python 标准库参考指南 3.8.20 ctypes --- Python 的外部函数库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673 17 并发执行 703 17.1 threading --- 基于线程的并行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1476 26.10 test.support.script_helper --- 用于 Python 执行测试工具 . . . . . . . . . . . . . . 1488 27 调试和分析 1491 27.1 审计事件表 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1506 27.6 timeit --- 测量小代码片段的执行时间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1514 27.7 trace --- 跟踪 Python 语句的执行 . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 1927 页 | 9.69 MB | 10 月前3
Python 标准库参考指南 3.7.13 ctypes --- Python 的外部函数库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678 17 并发执行 709 17.1 threading --- 基于线程的并行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1532 28.5 timeit --- 测量小代码片段的执行时间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1540 28.6 trace --- 跟踪 Python 语句执行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1559 29.4 zipapp ——管理可执行的 Python zip 打包文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1567 30 Python 运行时服务 15750 码力 | 1961 页 | 9.14 MB | 10 月前3
Python 标准库参考指南 3.10.15 2 ctypes 参考手册 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731 17 并发执行 745 17.1 threading --- 基于线程的并行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1362 25.10.3 启动和代码执行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1365 25.10.4 帮助和首选项 Help --- 用于套接字测试的工具 . . . . . . . . . . . . . . . . 1524 26.15 test.support.script_helper --- 用于 Python 执行测试工具 . . . . . . . . . . . . . . 1524 26.16 test.support.bytecode_helper --- 用于测试正确字节码生成的支持工具 . . .0 码力 | 2072 页 | 10.39 MB | 10 月前3
Python 标准库参考指南 3.8.20 ctypes --- Python 的外部函数库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722 17 并发执行 755 17.1 threading --- 基于线程的并行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1581 26.10 test.support.script_helper --- 用于 Python 执行测试工具 . . . . . . . . . . . . . . . . 1593 27 调试和分析 1595 27.1 审计事件表 . . . . . . . . . . . . . . . . . . . . . . . . 1611 27.6 timeit --- 测量小代码片段的执行时间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1619 27.7 trace --- 跟踪 Python 语句的执行 . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 2052 页 | 9.74 MB | 10 月前3
Python 标准库参考指南 3.9.20 2 ctypes 参考手册 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710 17 并发执行 723 17.1 threading --- 基于线程的并行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1331 25.10.3 启动和代码执行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1334 25.10.4 帮助和偏好 . . --- 用于套接字测试的工具 . . . . . . . . . . . . . . . . 1491 26.15 test.support.script_helper --- 用于 Python 执行测试工具 . . . . . . . . . . . . . . 1491 26.16 test.support.bytecode_helper --- 用于测试正确字节码生成的支持工具 . . .0 码力 | 2015 页 | 10.12 MB | 10 月前3
共 118 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12













