Apache Shiro 1.2.x Reference Manual 中文翻译Manual 中文翻译 39 5. Authentication 认证 第1步:程序代码调用 Subject.login 方法,向AuthenticationToken(认证令牌)实例的构造函 数传递用户的身份和证明。 第2步:Subject 实例,通常是一个 DelegatingSubject(或其子类)通过调用 securityManager.login(token )将这个令牌转交给程序的 恰当的决定。 AuthenticationStrategy 是一个 stateless 的组件,在整个验证过程中在被用到4次(在这4次 活动中需要必要的 state 时,state 将作为方法参数传递) 1.在任何 Realms 被执行之前; 2.在某个的 Realm 的 getAuthenticationInfo 方法调用之前; 3.在某个的 Realm 的 getAuthenticationInfo 用户,这通常取决于程 序的数据模型而且经常在程序中发生改变。 例如,一组权限可以归于一个角色而角色与一个或多个用户对象关联,或者一些程序可以有 一组用户而一个组可以指定一个角色,在这里关系将被传递也就是说组内用户隐含被赋予角 色的权限。 有很多方式可以将权限赋予用户--程序根据需求决定如何设计。 我们稍后讨论 Shiro 如何判断一个 Subject 是否被允许。 Permission0 码力 | 196 页 | 2.34 MB | 1 年前3
《Java 应用与开发》课程讲义 - 王晓东1所示。 1.1.2 Java 技术的特点 Java 具备以下技术特点: 面向对象 Java 是一种以对象为中心,以消息为驱动的面向对象的编程语言。 平台无关性 分为源代码级(需重新编译源代码,如 C/C++)和目标代码级 (Java) 平台 无关。 分布式 可支持分布式技术及平台开发。 可靠性 不支持直接操作指针,避免了对内存的非法访问;自动单元回收功能防止内存 丢失等动态内存分配导 为参数。JVM 检测到 m2 方法中的 b 参数为 局部变量,立即加入到栈中,由于是引用类型的变量,所以 b 中保存的是 d1 中 的指针,此时 b 和 d1 指向同一个堆中的对象。在 b 和 d1 之间传递是指针。 程序调用过程(六) • m2 方法中又实例化了一个 BirthDate 对象,并且赋给 b。在内部执行过程是:在 堆区 new 了一个对象,并且把该对象的指针保存在栈中 b 对应空间,此时实例 � 图 9.4 打孔卡片 图 9.5 分立的 Apple I 图 9.6 Apple I 9.2 命令行参数 9.2.1 命令行参数 在启动时 Java 控制台应用程序,可以一次性地向程序中传递(零至多个)字符串 参数,这些参数被称为命令行参数。语法格式如下: 1 java <应用程序类名> [<命令行参数>]* 说明 • 命令行参数将被系统接收并静态初始化为一个一维的 String0 码力 | 330 页 | 6.54 MB | 1 年前3
跟我学Shiro - 张开涛........................................................................... 184 第二十三章 多项目集中权限管理及分布式会话 ....................................................................... 191 部署架构.............. 来管理主体与应用之间交互的数据;这样的话,比如我们在 Web 环境用,刚开始是一台 Web 服务器;接着又上了台 EJB 服务器;这时想把两台服务器的会话数据放到一个地方, 这个时候就可以实现自己的分布式会话(如把数据放到 Memcached 服务器); SessionDAO:DAO 大家都用过,数据访问对象,用于会话的 CRUD,比如我们想把 Session 保存到数据库,那么可以实现自己的 SessionDAO,通过如 数过 多)、IncorrectCredentialsException (错误的凭证)、ExpiredCredentialsException(过期的 凭证)等,具体请查看其继承关系;对于页面的错误消息展示,最好使用如“用户名/密码 错误”而不是“用户名错误”/“密码错误”,防止一些恶意用户非法扫描帐号库; 2.6、最后可以调用 subject.logout 退出,其会自动委托给 SecurityManager0 码力 | 219 页 | 4.16 MB | 10 月前3
Apache Shiro参考手册中文版就在我们的简单应用程序中启用了!很容易是吧? 轻松地运行 mvn compile exec:java,并看到这一切仍然运行成功(由于 Shiro 的默认调试日志或更低版本,你将不会 看到任何的 Shiro 日志消息——如果在启动和运行没有报错,那么你知道一切仍然正常)。 这里是上面增加的代码所做的: 1. 我们使用 Shiro 的 IniSecurityManager 实现来提取我们的 shiro Shiro 可能不提供的。请参见 AuthenticationException JavaDoc 获取更多。 Handy Hint 最安全的做法是给普通的登录失败消息给用户,因为你当然不想帮助试图闯入你系统的攻击者。 好了,到现在为止,我们已经有了一个登录用户。我们还能做些什么? 比方说,他们是是谁: 我们也可以测试他们是否有特定的角色: currentUser.login(token); 在捕获到当前执行的 Subject 后,我们获得一个单一的 login 方法调用,并将之前获得的 AuthenticationToken 实例传递给它。 通过调用 login 方法,有效地体现了身份验证尝试。 Step3:处理成功或失败 如果 login 方法返回平静地,就是它——我们所做的一切!该 Subject 已通过验证。应用程序线程可以不受干0 码力 | 92 页 | 1.16 MB | 1 年前3
Nacos架构&原理
许进 7 > 推荐序 推荐序 阿里巴巴合伙人 - 蒋江伟(小邪) 随着企业加速数字化升级,越来越多的系统架构采用了分布式的架构,主要目的是为了解决集中化 和互联网化所带来的架构扩展性和面对海量用户请求的技术挑战。这里面其中有⼀个关键点是软负 载。因为整个分布式架构需要有⼀个软负载来协作各个节点之间的服务在线离线状态、数据⼀致性、 以及动态配置数据的推送。这里面最简单的需求就是将⼀个配置准时的推送到不同的节点。即便如 复杂。如何能将数据准确的在 3 秒钟之内推送到每⼀ 个计算节点,这是当时提出的⼀个要求,围绕这个要求,系统要做大量的研发和改造,类似的这种 关键的技术挑战点还非常非常的多。本书就是将面对复杂的分布式计算场景,海量并发的业务场景, 对软负载⼀个系统的进行阐述,通过 Nacos 开源分享阿里软负载最佳实践,希望能够帮助到各位开 发者,各位系统架构师,少走弯路。 阿里巴巴云原生应用平台负责人 - 年开源后引起了开发者的广泛关注和大量使用。本书也将介绍 Nacos 偏 AP 分布式系统的设计、全异步事件驱动的高性能架构和面向失败设计的高可用设计理念 等。相信开发者阅读后不仅可以更深入了解 Nacos,也有助于提高分布式系统的设计研发能力。 阿里巴巴中间件负责人 - 胡伟琪(白慕) 阿里巴巴在 10 多年分布式应用架构实践过程中,产出了⼀大批非常优秀的中间件技术产品,其中软 负载领域的0 码力 | 326 页 | 12.83 MB | 9 月前3
Java 应用与开发 - Java 技术概述及开发环境是一种以对象为中心,以消息为驱动的面向对 象的编程语言。 平台无关性 分布式 可靠性 多线程 网络编程 编译和解释并存 大纲 Java 技术概述 Java 平台核心机制 Java 开发环境 Java 基本开发流程 Java 技术的特点 面向对象 平台无关性 分为源代码级(需重新编译源代码,如 C/C++) 和目标代码级 (Java) 平台无关。 分布式 可靠性 多线程 网络编程 Java 开发环境 Java 基本开发流程 Java 技术的特点 面向对象 平台无关性 分布式 可靠性 多线程 网络编程 编译和解释并存 大纲 Java 技术概述 Java 平台核心机制 Java 开发环境 Java 基本开发流程 Java 技术的特点 面向对象 平台无关性 分布式 可靠性 不支持直接操作指针,避免了对内存的非法访问; 自动单元回收功能防止内存丢失等动态内存分配导 技术的特点 面向对象 平台无关性 分布式 可靠性 多线程 C++ 没有内置的多线程机制,需调用操作系统的 多线程功能来进行多线程序设计;Java 提供了多线 程支持。 网络编程 编译和解释并存 大纲 Java 技术概述 Java 平台核心机制 Java 开发环境 Java 基本开发流程 Java 技术的特点 面向对象 平台无关性 分布式 可靠性 多线程 网络编程 编译和解释并存0 码力 | 33 页 | 1.17 MB | 1 年前3
Java 应用与开发 - 异常处理异常的概念及分类 Java 异常处理机制 操作异常对象 发生异常时,系统将自动创建异常类对象,并将作为实参传递给 匹配的 catch 语句块的形参,这样就可以在语句块中操纵该异常 对象。 O 异常类的父类 Throwable 中定义的方法 getMessage() 返回描述当前异常的详细消息字符串。 printStackTrace() 用来跟踪异常事件发生时运行栈的内容,并 将相关信息输出到标准错误输出设备。本方法比较 异常的概念及分类 Java 异常处理机制 操作异常对象 发生异常时,系统将自动创建异常类对象,并将作为实参传递给 匹配的 catch 语句块的形参,这样就可以在语句块中操纵该异常 对象。 O 异常类的父类 Throwable 中定义的方法 getMessage() 返回描述当前异常的详细消息字符串。 printStackTrace() 用来跟踪异常事件发生时运行栈的内容,并 将相关信息输出到标准错误输出设备。本方法比较0 码力 | 33 页 | 626.40 KB | 1 年前3
Java 应用与开发 - Java EE 体系结构工厂化流水线开发模式 CVS 可视化软件建模 UML、RUP、ROSE 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 企业级应用的特点 分布式 通过局域网或 Internet 连接分布在一个组织内部或 世界各地的部门及用户。 高速反应性 企业组织需要不断地改变业务规则来适应业务需求 或商业模式的不断变化。 高安全性 企业应用系统必须保证运行的高度安全性和可靠性。 服务规范 Java EE 规定了连接各种外部资源的标准接口 API,简化了 连接各种不同类型外部资源的设计和编程。如 JDBC API 提供了连接数据库的标准接口;JMS API 可以连接各种外 部的消息服务系统。 ▶ 通信协议规范 ▶ 开发角色规范 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 Java EE 规范 Java EE 规范定义了面向0 码力 | 40 页 | 1.89 MB | 1 年前3
Java EE 企业应用系统开发 - HTTP 响应处理编程响应体(Response Body) 大纲 HTTP 响应的内容 HTTP 响应对象 响应对象功能和方法 HTTP 响应状态行 表明响应的状态信息,如成功、失败、错误。 状态行组成:版本 / 状态代码 / 状态消息。 O 状态行例子 HTTP/1.1 200 ok 1. 版本:使用的 HTTP 协议版本,如 HTTP/1.1; 2. 状态代码:3 位数字; ▶ 1xx: 收到请求,没有处理完。 ▶ 2xx: 服务器会自动设置状态码为 404,状态消息为 not found。 O public void setStatus(int code) 直接发送指定的响应状态码,没有设置状态消息,只有默认的状 态消息,如果无对应状态消息则显示为空。 O public void setStatus(int code, String message) 设置指定的状态码,同时设定自定义的状态消息,可以修改默认 的状态消息。该方法在 Servlet sendError(580); O public void sendError(int sc, String msg) throws IOException 向客户端发送指定的错误信息码和自定义状态消息。 1 response.setCharacterEncoding("GBK"); 2 response.sendError(580, "自定义错误"); 大纲 HTTP 响应的内容 HTTP0 码力 | 26 页 | 575.28 KB | 1 年前3
基于 Java EE 的企业应用系统设计 - Spring MVC 01和 Control 层一旦运动起来,就会产生 许多的问题: ▶ 数据从 View 层传递到 Control 层,如何使得一个个扁平的字符串, 转化成一个个生龙活虎的 Java 对象。 ▶ 数据从 View 层传递到 Control 层,如何方便的进行数据格式和内 容的校验? ▶ 数据从 Control 层传递到 View 层,一个个 Java 对象,又如何在页 面上以各种各样的形式展现出来。 和 Control 层一旦运动起来,就会产生 许多的问题: ▶ 数据从 View 层传递到 Control 层,如何使得一个个扁平的字符串, 转化成一个个生龙活虎的 Java 对象。 ▶ 数据从 View 层传递到 Control 层,如何方便的进行数据格式和内 容的校验? ▶ 数据从 Control 层传递到 View 层,一个个 Java 对象,又如何在页 面上以各种各样的形式展现出来。 和 Control 层一旦运动起来,就会产生 许多的问题: ▶ 数据从 View 层传递到 Control 层,如何使得一个个扁平的字符串, 转化成一个个生龙活虎的 Java 对象。 ▶ 数据从 View 层传递到 Control 层,如何方便的进行数据格式和内 容的校验? ▶ 数据从 Control 层传递到 View 层,一个个 Java 对象,又如何在页 面上以各种各样的形式展现出来。0 码力 | 67 页 | 792.43 KB | 1 年前3
共 27 条
- 1
- 2
- 3













