跟我学Shiro - 张开涛............................................................................................ 76 自定义拦截器 ............................................................................................... 接下来我们分别从外部和内部来看看 Shiro 的架构,对于一个好的框架,从外部来看应该 具有非常简单易于使用的 API,且 API 契约明确;从内部来看的话,其应该有一个可扩展 的架构,即非常容易插入用户自定义实现,因为任何框架都不能满足所有需求。 首先,我们从外部来看 Shiro 吧,即从应用程序角度的来观察如何使用 Shiro 完成工作。如 下图: 可以看到:应用代码直接交互的对象是S 进行控制;它管 理着所有 Subject、且负责进行认证和授权、及会话、缓存的管理。 Authenticator:认证器,负责主体认证的,这是一个扩展点,如果用户觉得 Shiro 默认的 不好,可以自定义实现;其需要认证策略(Authentication Strategy),即什么情况下算用户 认证通过了; Authrizer:授权器,或者访问控制器,用来决定主体是否有权限进行相应的操作;即控制 着用户能访问应用中的哪些功能;0 码力 | 219 页 | 4.16 MB | 10 月前3
基于 Java EE 的企业应用系统设计 - Spring MVC 02非没有任何限制,在如何正确绑定数据方面是杂乱无章的。 ▶ 例如,Spring 总是试图用默认的语言区域将日期输入绑定到 java.util.Date。 ▶ 假如想让 Spring 使用不同的日期样式,就需要使用 Converter 或者 Formatter。 O Converter and Formatter 两者均可用于将一种对象类型转换成另一种对象类型。Converter 是通用组件, May 31, 2017、 5/31/2017 和 2017-05-31。默认情况下,Spring 会期待用户输入的 日期样式与当前语言区域的日期样式相同。例如,对于美国的用 户而言,就是月/日/年格式。 如果希望 Spring 在将输入的日期字符串绑定到 Date 时使用不同 的日期样式,则需要编写一个 Converter,才能将字符串转换成 日期。 大纲 转换器和格式化(Converter and 页面中的脚本元素,要使用 jsp-property-group 元素 以及 url-patern 和 scripting-invalid 两个子元素。 url-pattern 元素定义禁用脚本要应用的 URL 样式。例如如何将一 个应用程序中所有 JSP 页面的脚本都关闭:*.jsp 0 码力 | 56 页 | 866.07 KB | 1 年前3
基于 Java EE 的企业应用系统设计 - Spring MVC 01描述 commandName 暴露表单对象模型属性的名称,默认为 command cssClass 定义渲染 form 元素的 CSS 类 cssStyle 定义渲染 form 元素的 CSS 样式 htmlEscape 接受 true 或者 false,表示被渲染的值是否应该进行 HTML 转义 modelAttribute 暴露 form backing object 的模型属性名称,默认为0 码力 | 67 页 | 792.43 KB | 1 年前3
Apache Shiro参考手册中文版这就是了!它再简单不过了。 但如果他们的登录尝试失败了会怎样?你能够捕获各种具体的异常来告诉你到底发生了什么,并允许你去处理并作 出相应反应: 你能够检查到许多不同类型的异常,或抛出你自己的自定义条件的异常——Shiro 可能不提供的。请参见 AuthenticationException JavaDoc 获取更多。 Handy Hint 最安全的做法是给 Shiro 提供了立即可用的 Realms 来连接一些安全数据源(即目录),如 LDAP,关系数据库(JDBC),文本配 置源,像 INI 及属性文件,以及更多。你可以插入你自己的 Realm 实现来代表自定义的数据源,如果默认地 Realm 不符合你的需求。 像其他内置组件一样,Shiro SecurityManager 控制 Realms 是如何被用来获取安全和身份数据来代表 Subject 实 accessor/mutator 方法(get*/set*)轻松地自定义可拔插组件。这意味着 Shiro 的架构的组件性能够把自定义行为转 化为非常容易的配置文件。 Easy Configuration 由于 JavaBeans 的兼容性,通过任何支持 JavaBean 风格的配置的机制可以很容 易的用自定义组件配置 SecurityManager,如 Spring,Guice,JBoss,等等。0 码力 | 92 页 | 1.16 MB | 1 年前3
Apache Shiro 1.2.x Reference Manual 中文翻译辅助支持 11. Caching 缓存 12. Concurrency & Multithreading 并发与多线程 13. Testing 测试 14. Custom Subjects 自定义 Subject V. Integration 整合 15. Spring Framework 16. Guice 17. CAS VI. Tools 工具 Apache Shiro 1 安全组件组成的对象模块视图(graph),因为与 JavaBean兼容,所以可以对所有这些组件 调用的 getter 和 setter 方法来配置SecurityManager 和它的内部对象视图。 例如,你想用一个自定义的 SessionDAO 来定制 Session Management从而配置一个 SecurityManager 实例,你就可以使用 SessionManager 的 setSessionDAO 捕获你自己的异常 ... } catch ( AuthenticationException ae ) { //未预计的错误? } //没问题,继续 如果原有的异常不能满足你的需求,可以创建自定义的AuthenticationExceptions 来表示特定 的失败场景。 登录失败小贴士 虽然你的代码可以对指定的异常做出处理并执行某些所需的逻辑,但有经验的安全做法是仅 向终端用户输出0 码力 | 196 页 | 2.34 MB | 1 年前3
Nacos架构&原理
制:通道无读 写事件时,发 送心跳包检 测,可设置超 时时间,间隔 次数 1.设置 TCP 参数 2.自定义心 跳 IdeHandl er,监听通道 读写事件 1.自定义心 跳,KeepAli veFilter 1.自定义心 跳,ping-po ng 包探测 1.自定义 kee p alive 机制 基于 mina, KeepAliveF ilter 事件通知 正常关闭 有事件通知 有事件通知 断网异常 keep alive 机制,有事件 通知 tpc 及自定 义心跳,有事 件通知 自定义心 跳,有事件 通知 自定义心跳, ping-pong 包探测,无事 件通知 1.自定义心 跳,有事件通 知 自定义心 跳,有事件 通知 参考:理解 TCP Keepalive: https://blog.csdn.net/chrisnot (官方不建 议使用) 支持 支持 支持 支持 支持 心跳保活 应用层自定 义,ping-po ng 消息 应用层自定 义,单 byte ack 自定义 kee palive fra me TCP+ 自定 义 自定义 kee palive filte r 性能 tps 安全性 TLS TLS TLS TLS TLS TLS 多语言支持 JAVA 支持 不支持 支持0 码力 | 326 页 | 12.83 MB | 9 月前3
《Java 应用与开发》课程讲义 - 王晓东. . . 159 12.2.6 人工抛出异常 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 12.3 用户自定义异常 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 12.4 断言 . . . . . . . . . data,由于是基本类型,直接在栈中存放 data 对应的值 9。 • 创建两个 BirthDate 类的实例 d1、d2,在栈中分别存放了对应的指针指向各自的 对象。它们在实例化时调用了有参数的构造方法,因此对象中有自定义初始值。 程序调用过程(二) • 调用 test 对象的 m1 方法,以 data 为参数。JVM 读取这段代码时,检测到 i 是局 部变量,则会把 i 放在栈中,并且把 data 的值赋给 i。 版),清华大学出版社,2015.5 • Bruce Eckel, Thinking in Java (3rd) 教学目标 1. 理解泛型的概念,掌握其基本应用 • 集合框架中的泛型 • 泛型的向后兼容性 2. 掌握自定义泛型类和泛型方法 • 理解类型参数 • 理解差异性并能够定义自己的泛型类和泛型方法 • 受限制的类型参数 3. 学会处理泛型类型,包括使用通配符实现泛型容器遍历和操作 83 � 8 �0 码力 | 330 页 | 6.54 MB | 1 年前3
Java EE 企业应用系统开发 - HTTP 响应处理编程直接发送指定的响应状态码,没有设置状态消息,只有默认的状 态消息,如果无对应状态消息则显示为空。 O public void setStatus(int code, String message) 设置指定的状态码,同时设定自定义的状态消息,可以修改默认 的状态消息。该方法在 Servlet 2.5 后被舍弃,一般不要使用。 大纲 HTTP 响应的内容 HTTP 响应对象 响应对象功能和方法 设置响应状态码 O public sendError(int sc, String msg) throws IOException 向客户端发送指定的错误信息码和自定义状态消息。 1 response.setCharacterEncoding("GBK"); 2 response.sendError(580, "自定义错误"); 大纲 HTTP 响应的内容 HTTP 响应对象 响应对象功能和方法 设置响应头 当客户端接收到响应状态为0 码力 | 26 页 | 575.28 KB | 1 年前3
使用 TEX 写文档“We Prefer to LATEX”; 超常的稳定性 几乎没有任何错误,内核很少改动 ($1.28 ⇒ $327.68),极少崩溃,无论内存多少, 文件大小,都能正常处理; 高度的灵活性 自定义新命令和宏包等扩展系统,排版俄 文、德文、中文等多种语言,排版数学公式、 方程式、棋谱、乐谱、程序、算法、日历、试 卷、化学分子式、各种图形等; KevinW@OUC 王晓东 大纲 What’s “We Prefer to LATEX”; 超常的稳定性 几乎没有任何错误,内核很少改动 ($1.28 ⇒ $327.68),极少崩溃,无论内存多少, 文件大小,都能正常处理; 高度的灵活性 自定义新命令和宏包等扩展系统,排版俄 文、德文、中文等多种语言,排版数学公式、 方程式、棋谱、乐谱、程序、算法、日历、试 卷、化学分子式、各种图形等; KevinW@OUC 王晓东 大纲 What’s “We Prefer to LATEX”; 超常的稳定性 几乎没有任何错误,内核很少改动 ($1.28 ⇒ $327.68),极少崩溃,无论内存多少, 文件大小,都能正常处理; 高度的灵活性 自定义新命令和宏包等扩展系统,排版俄 文、德文、中文等多种语言,排版数学公式、 方程式、棋谱、乐谱、程序、算法、日历、试 卷、化学分子式、各种图形等; KevinW@OUC 王晓东 大纲 What’s0 码力 | 65 页 | 1.07 MB | 1 年前3
Java 应用与开发 - 异常处理止错误发生,就应该使用 if-else 语句来预防错误发生。 ▶ 只有当我们无法明确知道错误发生之处或无法完全避免异 常,才不得不通过异常处理的方式来捕获和处理异常。 ▶ 自定义的异常类对象只能采用人工方式抛出。(自定义异常 有兴趣请自行搜索资料学习) 大纲 异常的概念及分类 Java 异常处理机制 本节习题 1. 总结 Java 的异常处理机制。 2. 什么是运行时异常? 3. 若0 码力 | 33 页 | 626.40 KB | 1 年前3
共 20 条
- 1
- 2













