跟我学Shiro - 张开涛指定用户 名/密码及其角色;role.role1=permission1,permission2 指定角色及权限信息; org.apache.shiro.realm.jdbc.JdbcRealm:通过 sql 查询相应的信息,如“select password from users where username = ?”获取用户密码,“select password, password_salt from 获取用户角色;“select permission from roles_permissions where role_name = ?”获取角色对 应的权限信息;也可以调用相应的 api 进行自定义 sql; JDBC Realm 使用 1、数据库及依赖 跟我学 Shiro——http://jinnianshilongnian.iteye.com/ 16 下建三张表:users(用户名/密码)、user_roles(用户/角色)、roles_permissions (角色/权限),具体请参照 shiro-example-chapter2/sql/shiro.sql;并添加一个用户记录,用 户名/密码为 zhang/123; 3、ini 配置(shiro-jdbc-realm.ini) 1、变量名=全限定类名0 码力 | 219 页 | 4.16 MB | 10 月前3
Nacos架构&原理
拦截请求,并根据请求中包含的 IP 和 port 信息计算其所属的 Distro 责任节点, 并将该请求转发到所属的 Distro 责任节点上。 责任节点上的 Controller 将写请求进行解析。 Distro 协议定期执行 Sync 任务,将本机所负责的所有的实例信息同步到其他节点上。 读操作 由于每台机器上都存放了全量数据,因此在每⼀次读操作中,Distro 机器会直接从本地拉取数据。 8848, 如过说有特殊需求更改了 Nacos 的端口信息,则需要在该文件将该节点的完整网路地址信息补充 完整(IP:PORT)。 当 Nacos 节点启动时,会读取该文件的内容,然后将文件内的 IP 解析为节点列表,调用 afterLo okup 存入 ServerMemberManager 。 private void readClusterConfFromDisk() { Collection解决了服务端端到端面临的挑战,即延时大、解析不准、故障牵引慢的问题。 如何去理解呢? 当内部有多个微服务体系的时候,每⼀个体系的成熟度是不同的。例如,有⼀些微服务框架对同机 房或 CMDB 路由是不支持的,当⼀个服务注册到了多个 IDC 中心,去调用它的服务的时候,即便 是同机房,也可能调用到⼀个不是同机房的节点。这样就会无端的造成服务的延时和解析不准。 即使我们基于 DNS 做⼀些解析的优化,但仍然无法完全解决服务的延时和解析不准。这是因为 0 码力 | 326 页 | 12.83 MB | 9 月前3
《Java 应用与开发》课程讲义 - 王晓东集合、日期、国际化、各种实用工具 utility 的简写 java.io 可提供数据输入/输出相关功能的类 input/output 的简写 java.net Java 网络编程的相关功能类 网络 java.sql 提供数据库操作的相关功能类 结构化查询语言的简写 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ,当用户在组件上进 行操作时会触发相应的事件。 事件源(Event Source) 能够产生事件的 GUI 组件对象,如按钮、文本框等。 事件处理方法(Event Handler) 能够接收、解析和处理事件类对象,实现与用户交 互功能的方法。 事件监听器(Event Listener) 调用事件处理方法的对象。 . 课程配套代码 ± sample.awt.event.ActionEventSample 含有双字节字符(如中文),则会显示乱码,此时应该采用字符流类型。 • 可以用于复制任何格式的文件,如文本、音视频以及可执行文件等二进制文件, 因为以字节为单位进行数据复制时并不对文件内容进行解析。 示例代码:Fragment: 使用字节流实现文件复制 1 FileInputStream fis = new FileInputStream(”in.txt”); 2 FileOutputStream0 码力 | 330 页 | 6.54 MB | 1 年前3
Java 应用与开发 - JSP (Java Server Page)概述 JSP 指令 JSP 动作 JSP 脚本 JSP 内置对象 本节习题 include 指令和 include 动作的差异 ▶ 其根本性不同在于他们被调用的时间。include 指令在页面 解析期间被嵌入;inlcude 动作在请求的响应输出时被嵌入。 ▶ 在实现文件包含上,因该尽可能的使用 include 动作。 ▶ 而 include 指令存在的原因是其功能更加强大,执行速度 稍快。 forName("sun.jdbc.odbc.JdbcOdbc.Driver"); 5 cn = DriverManager.getConnection("jdbc:odbc:cityoa"); 6 String sql = "select␣*␣from␣EMP"; 7 ... ... 8 } 9 % > 大纲 JSP 概述 JSP 指令 JSP 动作 JSP 脚本 JSP 内置对象 本节习题 JSP 脚本0 码力 | 47 页 | 740.36 KB | 1 年前3
Apache Shiro 1.2.x Reference Manual 中文翻译AuthenticationToken 接口的实现,这个接口被 Shiro 认证系统用来 提交身份和证明。 注意 Shiro 并不关心你如何获取这些信息:也许是用户从一个HTML表单中提交的,或者可能 从一个 HTTP 请求字串中解析的,也可能来自于Swing或者 Flex GUI 的密码表单,或者通过 命令行参数得到。从程序终端用户获取信息的过程与 Shiro 的 AuthenticationToken 完全无 关。 你可以随自己喜欢构造和引用 shiroEnvironmentClass com.foo.bar.shiro.MyWebEnvironment 这允许你自定义一个如何解析和代表 WebEnvironment 实例的配置格式。你可以为自定义的 行为对现有的 IniWebEnvironment 创建子类,或完全支持不同的配置格式。例如,如果有人 想在XML 中配置Shiro _HERE 默认情况下,在 ServletContext.getResource 方法定义的规则下,param-value 是可以被解析 的。例如, /WEB-INF/some/path/shiro.ini。 但你也可以指定具体的文件系统,如classpath 或URL 位置,通过使用Shiro 支持的合适的 ResourceUtils0 码力 | 196 页 | 2.34 MB | 1 年前3
Java 应用与开发 - HTTP 会话跟踪技术附加在地址栏上,以?name=value 形式附加 在 URL 后,多个参数使用 & 符号进行间隔。 大纲 会话基本概念 会话跟踪技术 本节习题 URL 重写 URL 重写的实现 服务器端解析 URL 获取用户会话标识 Web 服务器端使用请求对象取得 URL 后附加的客户端参数 数据。 1 String userid = request.getParameter("userid"); 对,可以保存如登录帐号、用户喜好等会话数据。 ▶ Cookie 由 Web 服务器创建,由 Web 服务器在进行 HTTP 响应 时,将 Cookie 保存在 HTTP 响应头中并发送给浏览器,浏览器 收到 HTTP 响应头,解析出 Cookie,将它保存在客户的本地隐 藏文件中。 ▶ 客户浏览器每次向 Web 服务器发出 HTTP 请求时,自动将 Cookie 保存在请求头中,随请求体一起发送到服务器,这个过程 不需要人工参与。 对,可以保存如登录帐号、用户喜好等会话数据。 ▶ Cookie 由 Web 服务器创建,由 Web 服务器在进行 HTTP 响应 时,将 Cookie 保存在 HTTP 响应头中并发送给浏览器,浏览器 收到 HTTP 响应头,解析出 Cookie,将它保存在客户的本地隐 藏文件中。 ▶ 客户浏览器每次向 Web 服务器发出 HTTP 请求时,自动将 Cookie 保存在请求头中,随请求体一起发送到服务器,这个过程 不需要人工参与。0 码力 | 54 页 | 824.47 KB | 1 年前3
基于 Java EE 的企业应用系统设计 - Spring MVC 01Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 View Resolver Spring MVC 中的视图解析器负责解析视图,可以通过在配置文 件中定义一个 ViewResolver 来配置视图解析器。视图解析器配置有前缀和后缀两个属性,View 路径将缩短。例 如,仅需提供“myPage”,而不必再设置视图路径为/WEB-INF/ jsp/myPage.jsp,视图解析器将会自动增加前缀和后缀。 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 product.setPrice(Float.parseFloat(productForm.getPrice())); } catch (NurnberFormatException e) { } 需要解析 ProductForm 的 price 属性,将 HTTP String 类型的请求 参数转换为 float 以填充 Product 的 price 属性。 采用数据绑定 @RequestMa 0 码力 | 67 页 | 792.43 KB | 1 年前3
Java 应用与开发 - Java GUI 编程情,当用户在组件上进行操作时会触发相应的事件。 事件源(Event Source) 能够产生事件的 GUI 组件对象,如按 钮、文本框等。 事件处理方法(Event Handler) 能够接收、解析和处理事件类 对象,实现与用户交互功能的方法。 事件监听器(Event Listener) 调用事件处理方法的对象。 课程配套代码 ± sample.awt.event.ActionEventSample 情,当用户在组件上进行操作时会触发相应的事件。 事件源(Event Source) 能够产生事件的 GUI 组件对象,如按 钮、文本框等。 事件处理方法(Event Handler) 能够接收、解析和处理事件类 对象,实现与用户交互功能的方法。 事件监听器(Event Listener) 调用事件处理方法的对象。 课程配套代码 ± sample.awt.event.ActionEventSample 情,当用户在组件上进行操作时会触发相应的事件。 事件源(Event Source) 能够产生事件的 GUI 组件对象,如按 钮、文本框等。 事件处理方法(Event Handler) 能够接收、解析和处理事件类 对象,实现与用户交互功能的方法。 事件监听器(Event Listener) 调用事件处理方法的对象。 课程配套代码 ± sample.awt.event.ActionEventSample0 码力 | 73 页 | 876.31 KB | 1 年前3
Apache Shiro参考手册中文版对工厂设计模式的支持。classpath: 前缀是一个资源定位符,用来告诉 shiro 去哪加载 ini 文件(其 他前缀,如 url:和 file:也同样被支持)。 2. factory.getInstance()方法被调用,它来解析 INI 文件并返回反映该配置的 SecurityManager 实例。 3. 在这个简单的例子中,我们把 SecurityManager 设置为一个静态的(memory)单例,能够跨 JVM 访问。但请 请注意,如果一个独立的 permissionDefinition 需要被内部逗号分隔(例如,printer:5thFloor:print,info),你需要用 户双引号环绕该定义,以避免错误解析: "printer:5thFloor:print,info" Roles without Permissions 如果你有不需要权限关联的角色,你不需要在[roles] 访问控制检查的例子——限制行为的能力是基于个人的数据实 例。 基于对象的权限是很有用的,如果: 你想编译时类型安全 你想保证权限被描述和使用是正确的 你想显式控制许可解析逻辑(被称作许可蕴含的逻辑,基于权限接口的 implies 方法)是如何执行的。 你想保证权限反映到应用程序资源是准确的(例如,也许权限类可以在能够基于项目的域模型的项目编译时 自动生成)。0 码力 | 92 页 | 1.16 MB | 1 年前3
Java 应用与开发 - 高级 I/O 编程并显示的文件中如果含有双字节字符(如中文),则会显示 乱码,此时应该采用字符流类型。 ▶ 可以用于复制任��式的文件,如文本、���以�可�行 文件�二进制文件,因为以字节为单位进行数据复制时并不 对文件��进行解析。 CODE ± Fragment: 使用字节流实现文件复制 1 FileInputStream fis = new FileInputStream("in.txt"); 2 FileOutputStream ▶ FileReader 用于以字符为单位读取文本文件,FileWriter 类 用于将字符数据写出到文本文件。 ▶ 字符 I/O 流类型只能处理文本文件,因为二进制文件中保 存的字节信息不能正常解析为字符。 CODE ± Fragment: 使用字符流实现文件复制 1 FileReader fis = new FileReader("in.txt"); 2 // The second arg0 码力 | 27 页 | 609.17 KB | 1 年前3
共 386 条
- 1
- 2
- 3
- 4
- 5
- 6
- 39













