Apache Shiro参考手册中文版
shiro.mgt.SecurityManager) 如上所述,SecurityManager 是 Shiro 架构的心脏。它基本上是一个“保护伞”对象,协调其管理的组件以确保 它们能够一起顺利的工作。它还管理每个应用程序用户的 Shiro 的视图,因此它知道如何执行每个用户的安全 操作。 Authenticator(org.apache.shiro.authc.Authenticator) 为中心的编程方式,大多数应用程序开发人员很少,如果真有,与SecurityManager 直接进行交互(框架开发人员有时候会觉得它很有用)。即便如此,了解如何 SecurityManager 是如何工作的仍然 是很重要的,尤其是在为应用程序配置一个 SecurityManager 的时候。 Design 如前所述,应用程序的 SecurityManager 执行安全操作并管理所有应用程序用户的状态。在 Shiro 所做的工作,我们的团体在不断改善和扩展该文档。如果你想帮助 Shiro 项目,请考虑修改,扩展,或者添加文档到你认为需要的地方。您的每一点帮助都壮大了我们的团体,从而 改进了 Shiro。 贡献您的文档最简单的方法是将其发送到用户论坛或者用户的通讯录。 Apache Shiro Configuration Shiro 被设计成能够在任何环境下工作,从最简单的命令行0 码力 | 92 页 | 1.16 MB | 1 年前3Apache Shiro 1.2.x Reference Manual 中文翻译
apache.shiro.mgt.SecurityManager) 如同上面提到的,SecurityManager 是 Shiro 的核心,它基本上就是一把“保护伞”用来协调它 管理的组件使之平稳地一起工作,它也管理着 Shiro 中每一个程序用户的视图,所以它知道每 个用户如何执行安全操作。 Authenticator(org.apache.shiro.authc.Authenticator) 包包含了易用且易懂的 加密方式,Hashes(即digests)和不同的编码实现。该包里所有的类都亦于理解和使用,曾 经用过 Java 自身的加密支持的人都知道那是一个具有挑战性的工作,而 Shiro 的加密 API 简 化了 java 复杂的工作方式,将加密变得易用。 Realms (org.apache.shiro.realm.Realm) 如同上面提到的,Realm 是 shiro 和你的应用程序安全数据之间的“桥”或“连接”,当实际要与 鼓励以 Subject 为中心的开发方式,大部分开发人员将很少会和 SecurityManager 直接交互(尽管框架开发人员也许发现它非常有用),尽管如此,知道 SecurityManager 如何工作,特别是当在一个程序中进行配置的时候,是非常重要的。 Design 设计 如前所述,程序中 SecurityManager 执行操作并且管理所有程序用户的状态,在 Shiro 基础 的 SecurityManager0 码力 | 196 页 | 2.34 MB | 1 年前3Nacos架构&原理
Nacos 这里又 做了另⼀份工作——数据存储抽象。 数据存储抽象 正如前面所说,⼀致性协议,就是用来保证数据⼀致的,如果利用⼀致性协议实现⼀个存储,那么 服务模块以及配置模块,就由原来的依赖⼀致性协议接口转变为了依赖存储接口,而存储接口后面 的具体实现,就比⼀致性协议要丰富得多了,并且服务模块以及配置模块也无需为直接依赖⼀致性 协议而承担多余的编码工作(快照、状态机实现、数据同步)。使得这两个模块可以更加的专注自 Distro 协议 背景 Distro 协议是 Nacos 社区自研的⼀种 AP 分布式协议,是面向临时实例设计的⼀种分布式协议, 其保证了在某些 Nacos 节点宕机后,整个临时实例处理系统依旧可以正常工作。作为⼀种有状态 的中间件应用的内嵌协议,Distro 保证了各个 Nacos 节点对于海量注册请求的统⼀协调和存储。 设计思想 Distro 协议的主要设计思想如下: Nacos 每个 他节点。 每个节点只负责部分数据,定时发送自己负责数据的校验值到其他节点来保持数据⼀致性。 每个节点独立处理读请求,及时从本地发出响应。 下面几节将分为几个场景进行 Distro 协议工作原理的介绍。 数据初始化 新加入的 Distro 节点会进行全量数据拉取。具体操作是轮询所有的 Distro 节点,通过向其他的机 器发送请求拉取全量数据。 39 > Nacos 架构 在全量拉取操作完成之后,Nacos0 码力 | 326 页 | 12.83 MB | 9 月前3《Java 应用与开发》课程讲义 - 王晓东
211 16.1.1 什么是 Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 16.1.2 Web 工作模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 16.1.3 Java Web 应用的构成 . . . . . 223 17.1 HTTP 请求内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 17.1.1 Web 工作模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 17.1.2 HTTP 请求中包含的信息 . . . . . 24.1 MVC 设计模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 24.2 Strut2 框架工作流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 xxi 表目录 2.1 整型数据类型 . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3Hello 算法 1.2.0 简体中文 Java 版
本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,内容清晰易懂、学习曲线平滑,引导初学者探索数据结构与算法的知识地图。 ‧ 源代码可一键运行,帮助读者在练习中提升编程技能,了解算法工作原理和数据结构底层实现。 ‧ 提倡读者互助学习,欢迎大家在评论区提出问题与分享见解,在交流讨论中共同进步。 0.1.1 读者对象 若你是算法初学者,从未接触过算法,或者已经有一些刷题经验,对数据结构与算法有模糊的认识,在会与 ch0、MwumLi、martinx、ZnYang2018、hugtyftg、 logan‑qiu、psychelzh、Keynman、KeiichiKasai 和 0130w。 本书的代码审阅工作由 coderonion、curtishd、Gonglja、gvenusleo、hpstory、justin‑tse、khoaxuantu、 krahets、night‑cruise、nuomi1、Reanon 并运行所有代码。 与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 第 0 章 前言 www.hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库:0 码力 | 379 页 | 18.48 MB | 10 月前3Hello 算法 1.2.0 繁体中文 Java 版
本專案旨在建立一本開源、免費、對新手友好的資料結構與演算法入門教程。 ‧ 全書採用動畫圖解,內容清晰易懂、學習曲線平滑,引導初學者探索資料結構與演算法的知識地圖。 ‧ 源程式碼可一鍵執行,幫助讀者在練習中提升程式設計技能,瞭解演算法工作原理和資料結構底層實 現。 ‧ 提倡讀者互助學習,歡迎大家在評論區提出問題與分享見解,在交流討論中共同進步。 0.1.1 讀者物件 若你是演算法初學者,從未接觸過演算法,或者已經有一些刷題經驗,對資料結構與演算法有模糊的認識, h0、MwumLi、martinx、ZnYang2018、hugtyftg、 logan‑qiu、psychelzh、Keynman、KeiichiKasai 和 0130w。 本書的程式碼審閱工作由 coderonion、curtishd、Gonglja、gvenusleo、hpstory、justin‑tse、khoaxuantu、 krahets、night‑cruise、nuomi1、Reanon 程式碼。 與閱讀程式碼相比,編寫程式碼的過程往往能帶來更多收穫。動手學,才是真的學。 第 0 章 前言 www.hello‑algo.com 6 圖 0‑3 執行程式碼示例 執行程式碼的前置工作主要分為三步。 第一步:安裝本地程式設計環境。請參照附錄所示的教程進行安裝,如果已安裝,則可跳過此步驟。 第二步:克隆或下載程式碼倉庫。前往 GitHub 倉庫。如果已經安裝 Git ,可以透過以下命令克隆本倉庫:0 码力 | 379 页 | 18.79 MB | 10 月前3Hello 算法 1.1.0 Java版
802、primexiao、nidhoggfgg、1ch0、MwumLi、ZnYang2018、hugtyftg、 logan‑qiu、psychelzh 和 Keynman 。 本书的代码审阅工作由 codingonion、curtishd、Gonglja、gvenusleo、hpstory、justin‑tse、krahets、 night‑cruise、nuomi1 和 Reanon 至少通读并运行所有代码。 与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 第 0 章 前言 hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: 如果感觉以下内容理解困难,可以在读完“栈”章节后再来复习。 那么,迭代和递归具有什么内在联系呢?以上述递归函数为例,求和操作在递归的“归”阶段进行。这意味 着最初被调用的函数实际上是最后完成其求和操作的,这种工作机制与栈的“先入后出”原则异曲同工。 事实上,“调用栈”和“栈帧空间”这类递归术语已经暗示了递归与栈之间的密切关系。 1. 递:当函数被调用时,系统会在“调用栈”上为该函数分配新的栈帧,用于存储函数的局部变量、参数、0 码力 | 378 页 | 18.47 MB | 1 年前3Hello 算法 1.0.0 Java版
233、xb534、luluxia、yanedie、thomasq0、 YangXuanyi 和 th1nk3r‑ing 。 第 0 章 前言 hello‑algo.com 4 本书的代码审阅工作由 codingonion、Gonglja、gvenusleo、hpstory、justin‑tse、krahets、night‑cruise、 nuomi1 和 Reanon 完成(按照首字母顺 至少通读并运行所有代码。 与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 第 0 章 前言 hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: 如果感觉以下内容理解困难,可以在读完“栈”章节后再来复习。 那么,迭代和递归具有什么内在联系呢?以上述递归函数为例,求和操作在递归的“归”阶段进行。这意味 着最初被调用的函数实际上是最后完成其求和操作的,这种工作机制与栈的“先入后出”原则异曲同工。 事实上,“调用栈”和“栈帧空间”这类递归术语已经暗示了递归与栈之间的密切关系。 1. 递:当函数被调用时,系统会在“调用栈”上为该函数分配新的栈帧,用于存储函数的局部变量、参数、0 码力 | 376 页 | 17.59 MB | 1 年前3Hello 算法 1.0.0b5 Java版
Keynman, youshaoXG, lipusheng, Javesun99, tao363, czruby, gltianwen, liuxjerry, yabo083. 本书的代码审阅工作由 Gonglja, gvenusleo, hpstory, justin‐tse, krahets, nuomi1, Reanon, sjinzh 完 成(按照首字母顺序排列)。感谢他们付出的时 如果时间允许,建议你参照代码自行敲一遍。如果学习时间有限,请至少通读并运行所有代码。 与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录教程进行安装,如果已安装则可跳过此步骤。 第二步:下载代码仓。如果已经安装 Git ,可以通过以下命令克隆本仓库。 git clone https://github hello‑algo.com 59 3.4.3 Unicode 字符集 随着计算机的蓬勃发展,字符集与编码标准百花齐放,而这带来了许多问题。一方面,这些字符集一般只定 义了特定语言的字符,无法在多语言环境下正常工作。另一方面,同一种语言也存在多种字符集标准,如果 两台电脑安装的是不同的编码标准,则在信息传递时就会出现乱码。 那个时代的研究人员就在想:如果推出一个足够完整的字符集,将世界范围内的所有语言和符号都收录其0 码力 | 376 页 | 30.69 MB | 1 年前3Java 应用与开发 - Java 数组和字符串
you."; 3 System.out.println(ss); 这段代码可能是怎么工作的? String 可能有一个 append() 方法,它会生成一个新的 String 对 象,该新对象包含了“Hello”与 s 连接后的字符串;然后再与 “I love you”连接,再次生成新的 String 对象。 这种工作方式会产生一大堆需要垃圾回收的中间对象! 大纲 数组的概念 一维数组 二维数组 字符串 you."; 3 System.out.println(ss); 这段代码可能是怎么工作的? String 可能有一个 append() 方法,它会生成一个新的 String 对 象,该新对象包含了“Hello”与 s 连接后的字符串;然后再与 “I love you”连接,再次生成新的 String 对象。 这种工作方式会产生一大堆需要垃圾回收的中间对象! 大纲 数组的概念 一维数组 二维数组 字符串 you."; 3 System.out.println(ss); 这段代码可能是怎么工作的? String 可能有一个 append() 方法,它会生成一个新的 String 对 象,该新对象包含了“Hello”与 s 连接后的字符串;然后再与 “I love you”连接,再次生成新的 String 对象。 这种工作方式会产生一大堆需要垃圾回收的中间对象! 大纲 数组的概念 一维数组 二维数组 字符串0 码力 | 33 页 | 620.46 KB | 1 年前3
共 28 条
- 1
- 2
- 3