Apache Shiro 1.2.x Reference Manual 中文翻译支持单点登录(SSO)功能 支持提供“Remember Me”服务,获取用户关联信息而无需登录 … 等等——都集成到一个有凝聚力的易于使用的API。 Shiro 致力在所有应用环境下实现上述功能,小到命令行应用程序,大到企业应用中,而且不 需要借助第三方框架、容器、应用服务器等。当然 Shiro 的目的是尽量的融入到这样的应用环 境中去,但也可以在它们之外的任何环境下开箱即用。 Apache Shiro 章所含示例如下) 示例1 示例2 示例3 Setup 设置 在这个简单的示例中,我们将创建一个非常简单的命令行应用程序,它将运行并迅速退出,这样你 可以领略到 Shiro 的API。 任何应用程序 Apache Shiro设计从一开始就支持任何应用程序——从最小的命令行应用程序最大的集群 web 应用程序。对于本教程,尽管我们创建一个简单的应用程序,你都知道运用相同的使用模 式来进行应用程序创建或部署。 安装是否正确,命令行 下运行 mvn --version 并看到类似如下: Apache Shiro 1.2.x Reference Manual 中文翻译 8 2. Tutorial 教程 现在,在你的文件系统中创建一个新目录,例如, shiro-tutorial 作为项目名并在目录下保存以下 Maven pom.xml 文件: 教程中的 class 我们将运行一个简单的命令行应用程序0 码力 | 196 页 | 2.34 MB | 1 年前3
Apache Shiro参考手册中文版为没有关联到登录的用户启用"Remember Me"服务 … 以及更多——全部集成到紧密结合的易于使用的 API 中。 Shiro 视图在所有应用程序环境下实现这些目标——从最简单的命令行应用程序到最大的企业应用,不强制依赖其 他第三方框架,容器,或应用服务器。当然,该项目的目标是尽可能地融入到这些环境,但它能够在任何环境下立 即可用。 Apache Shiro Features Shiro 把 Shiro 开发团队称为“应用程序的四大基石”——身份验证,授权,会话管理和加密作为其目标。 Authentication:有时也简称为“登录”,这是一个证明用户是他们所说的他们是谁的行为。 Authorization:访问控制的过程,也就是绝对“谁”去访问“什么”。 Session Management:管理用户特定的会话,即使在非 页面提供下载。 Setup 在这个简单的示例中,我们将创建一个非常简单的命令行应用程序,它将会运行并迅速退出,这样你能够获得对 Shiro 的 API 的感受。 Any Application Apache Shiro 从开始的那天起就被设计成能够支持任何应用程序——从最小的命令 行应用程序到最大的群集 Web 应用程序。即使我们为该教程创建的是一个简单的应0 码力 | 92 页 | 1.16 MB | 1 年前3
Hello 算法 1.0.0b4 Java版代码相比,编写代码的过程往往能带来更多收获。 Figure 0‑3. 运行代码示例 第一步:安装本地编程环境。请参照附录教程进行安装,如果已安装则可跳过此步骤。 第二步:下载代码仓。如果已经安装 Git ,可以通过以下命令克隆本仓库。 git clone https://github.com/krahets/hello-algo.git 当然,你也可以点击“Download ZIP”直接下载代码压缩包,然后在本地解压即可。 算法”中的所有字符都 编码为 2 字节长度。这样系统就可以每隔 2 字节解析一个字符,恢复出这个短语的内容了。 Figure 3‑7. Unicode 编码示例 然而,ASCII 码已经向我们证明,编码英文只需要 1 字节。若采用上述方案,英文文本占用空间的大小将会 是 ASCII 编码下大小的 2 倍,非常浪费内存空间。因此,我们需要一种更加高效的 Unicode 编码方法。 3. 数据结构 我们主要探究贪心选择性质的判断方法。虽然它的描述看上去比较简单,但实际上对于许多问题,证明贪心 选择性质不是一件易事。 例如零钱兑换问题,我们虽然能够容易地举出反例,对贪心选择性质进行证伪,但证实的难度较大。如果问: 满足什么条件的硬币组合可以使用贪心算法求解?我们往往只能凭借直觉或举例子来给出一个模棱两可的答 案,而难以给出严谨的数学证明。 15. 贪心 hello‑algo.com 319 � 有0 码力 | 342 页 | 27.39 MB | 1 年前3
Hello 算法 1.1.0 Java版运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: git clone https://github.com/krahets/hello-algo.git 当然,你也可以在图 0‑4 所示的位置,点击“Download ZIP”按钮直接下载代码压缩包,然后在本地解压即 将“Hello 算法”中的所有字符都 编码为 2 字节长度。这样系统就可以每隔 2 字节解析一个字符,恢复这个短语的内容了。 图 3‑7 Unicode 编码示例 然而 ASCII 码已经向我们证明,编码英文只需 1 字节。若采用上述方案,英文文本占用空间的大小将会是 ASCII 编码下的两倍,非常浪费内存空间。因此,我们需要一种更加高效的 Unicode 编码方法。 3.4.4 UTF‑8 一个错误的字节开始解析文本,字节头部的 10 能够帮助系统快速判断出异常。 之所以将 10 当作校验符,是因为在 UTF‑8 编码规则下,不可能有字符的最高两位是 10 。这个结论可以用 反证法来证明:假设一个字符的最高两位是 10 ,说明该字符的长度为 1 ,对应 ASCII 码。而 ASCII 码的最 高位应该是 0 ,与假设矛盾。 图 3‑8 UTF‑8 编码示例 除了 UTF‑8 之外,常见的编码方式还包括以下两种。0 码力 | 378 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0b5 Java版图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录教程进行安装,如果已安装则可跳过此步骤。 第二步:下载代码仓。如果已经安装 Git ,可以通过以下命令克隆本仓库。 git clone https://github.com/krahets/hello-algo.git 当然,你也可以在图 0‑4 所示的位置,点击“Download ZIP”直接下载代码压缩包,然后在本地解压即可。 ,将“Hello 算法”中的所有字符 都编码为 2 字节长度。这样系统就可以每隔 2 字节解析一个字符,恢复出这个短语的内容了。 图 3‑7 Unicode 编码示例 然而 ASCII 码已经向我们证明,编码英文只需要 1 字节。若采用上述方案,英文文本占用空间的大小将会是 ASCII 编码下大小的两倍,非常浪费内存空间。因此,我们需要一种更加高效的 Unicode 编码方法。 第 3 章 数据结构 一个错误的字节开始解析文本,字节头部的 10 能够帮助系统快速的判断出异常。 之所以将 10 当作校验符,是因为在 UTF‑8 编码规则下,不可能有字符的最高两位是 10 。这个结论可以用 反证法来证明:假设一个字符的最高两位是 10 ,说明该字符的长度为 1 ,对应 ASCII 码。而 ASCII 码的最 高位应该是 0 ,与假设矛盾。 图 3‑8 UTF‑8 编码示例 除了 UTF‑8 之外,常见的编码方式还包括以下两种。0 码力 | 376 页 | 30.69 MB | 1 年前3
Hello 算法 1.0.0 Java版运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: git clone https://github.com/krahets/hello-algo.git 当然,你也可以在图 0‑4 所示的位置,点击“Download ZIP”按钮直接下载代码压缩包,然后在本地解压即 将“Hello 算法”中的所有字符都 编码为 2 字节长度。这样系统就可以每隔 2 字节解析一个字符,恢复这个短语的内容了。 图 3‑7 Unicode 编码示例 然而 ASCII 码已经向我们证明,编码英文只需 1 字节。若采用上述方案,英文文本占用空间的大小将会是 ASCII 编码下的两倍,非常浪费内存空间。因此,我们需要一种更加高效的 Unicode 编码方法。 3.4.4 UTF‑8 一个错误的字节开始解析文本,字节头部的 10 能够帮助系统快速判断出异常。 之所以将 10 当作校验符,是因为在 UTF‑8 编码规则下,不可能有字符的最高两位是 10 。这个结论可以用 反证法来证明:假设一个字符的最高两位是 10 ,说明该字符的长度为 1 ,对应 ASCII 码。而 ASCII 码的最 高位应该是 0 ,与假设矛盾。 图 3‑8 UTF‑8 编码示例 除了 UTF‑8 之外,常见的编码方式还包括以下两种。0 码力 | 376 页 | 17.59 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Java 版运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: git clone https://github.com/krahets/hello-algo.git 当然,你也可以在图 0‑4 所示的位置,点击“Download ZIP”按钮直接下载代码压缩包,然后在本地解压即 将“Hello 算法”中的所有字符都 编码为 2 字节长度。这样系统就可以每隔 2 字节解析一个字符,恢复这个短语的内容了。 图 3‑7 Unicode 编码示例 然而 ASCII 码已经向我们证明,编码英文只需 1 字节。若采用上述方案,英文文本占用空间的大小将会是 ASCII 编码下的两倍,非常浪费内存空间。因此,我们需要一种更加高效的 Unicode 编码方法。 3.4.4 UTF‑8 一个错误的字节开始解析文本,字节头部的 10 能够帮助系统快速判断出异常。 之所以将 10 当作校验符,是因为在 UTF‑8 编码规则下,不可能有字符的最高两位是 10 。这个结论可以用 反证法来证明:假设一个字符的最高两位是 10 ,说明该字符的长度为 1 ,对应 ASCII 码。而 ASCII 码的最 高位应该是 0 ,与假设矛盾。 图 3‑8 UTF‑8 编码示例 除了 UTF‑8 之外,常见的编码方式还包括以下两种。0 码力 | 379 页 | 18.48 MB | 10 月前3
跟我学Shiro - 张开涛an.iteye.com/ 9 第二章 身份验证 身份验证,即在应用中谁能证明他就是他本人。一般提供如他们的身份 ID 一些标识信息来 表明他就是他本人,如提供身份证,用户名/密码来证明。 在 shiro 中,用户需要提供 principals (身份)和 credentials(证明)给 shiro,从而应用能 验证用户身份: principals:身份,即主体的标识属性, 可以是任何东西,如用户名、邮箱等,唯一即可。 一个主体可以有多个 principals,但只有一个 Primary principals,一般是用户名/密码/手机号。 credentials:证明/凭证,即只有主体知道的安全值,如密码/数字证书等。 最常见的 principals 和 credentials 组合就是用户名/密码了。接下来先进行一个基本的身份认 证。 另外两个相关的概念是之前提到的 这种关系数据库存储会话比较好办,如果使用 Redis 这种数据 库可以考虑这样存储: 会话创建时(如 sessionId=123),那么 redis 命令如下所示: 会话删除时(如 sessionId=123),那么 redis 命令如下所示: 获取总活跃会话: 分页获取活跃会话: ForceLogoutFilter session0 码力 | 219 页 | 4.16 MB | 10 月前3
Nacos架构&原理
生和微服务整个普及度还很低;还有我主管当时还强调两个点,第⼀个点是我们当时是⼀个闭源的 ⼀个软件,经常有业务方跳出来说你看 Eureka 多好,你们哪里哪里不行,如果我们不开源去打⼀ 打,怎么更好的证明我们更好,还有⼀个点是当时我们有商业化产品的,虽然我们知道我们更好, 但是奈何用户选择的是 Eureka,我们只能兼容,而且我们不出去,不成为默认标准,不知道未来还 要被迫兼容更多不如我们的产品 Console:易用控制台,做服务管理、配置管理等操作。 SDK:多语言 SDK,目前几乎支持所有主流编程语言。 Agent:Sidecar 模式运行,通过标准 DNS 协议与业务解耦。 CLI:命令行对产品进行轻量化管理,像 git ⼀样好用。 业务层 服务管理:实现服务 CRUD,域名 CRUD,服务健康状态检查,服务权重管理等功能。 配置管理:实现配置管 CRUD,版本管理, 备,数据库的主备可能会在某些情况下切换, 73 > Nacos 架构 需要通过服务名对外提供访问,保证当前访问的库是主库。此时的健康检查接口,可能就是⼀个检 查数据库是否是主库的 MYSQL 命令了。 客户端健康检查和服务端健康检查有⼀些不同的关注点。客户端健康检查主要关注客户端上报心跳 的方式、服务端摘除不健康客户端的机制。而服务端健康检查,则关注探测客户端的方式、灵敏度 及设置客户0 码力 | 326 页 | 12.83 MB | 9 月前3
MySQL ZIP Archive版本安装说明com/downloads/mysql/ 下载版本:Windows (x86, 64-bit), ZIP Archive,mysql-5.7.20-winx64.zip 3 软件安装 使用管理员权限打开命令提示符,步骤:开始菜单选择Windows系统 - 命令提示符 - 在其上点击右键选择 - 更多 - 以管 理员身份运行。 定位到C盘根目录,创建MySQL目录。 将所下载的MySQL软件压缩包mysql-5.7.20-winx64 定位到解压目录的bin目录下,执行初始化以下命令: 注意:执行初始化命令前需要正确创建data目录并确保该目录为空。 执行MySQL服务安装命令: 注意:安装成功则给出提示。 执行启动MySQL服务命令: 也可以通过在开始菜单上点击右键选择 - 计算机管理 - 服务和应用程序 - 服务,找到MySQL服务,在此完成服务启动及 其他配置操作。 以下是其他常用的MySQL命令行操作: 控制台 mysqld 数据库系统基本配置 结束所有的MySQL进程,包括mysql.exe和mysqld.exe,可以在任务管理器中结束上述进程。 输入mysqld –skip-grant-tables,输入后,其他命令行已经无法再输入,需要另打开一个命令行窗口(2号)进行其他 操作。 2017/11/06 11:50bin 2017/09/13 17:48 17,987 0 码力 | 4 页 | 756.23 KB | 1 年前3
共 23 条
- 1
- 2
- 3













