跟我学Shiro - 张开涛AuthenticationException 或 其 子 类 , 常 见 的 如 : DisabledAccountException(禁用的帐号)、LockedAccountException(锁定的帐号)、 UnknownAccountException(错误的帐号)、ExcessiveAttemptsException(登录失败次数过 多)、IncorrectCredentialsException Shiro——http://jinnianshilongnian.iteye.com/ 48 密码重试次数限制 如在 1 个小时内密码最多重试 5 次,如果尝试次数超过 5 次就锁定 1 小时,1 小时后可再 次重试,如果还是重试失败,可以锁定如 1 天,以此类推,防止密码被暴力破解。我们通 过继承 HashedCredentialsMatcher,且使用 Ehcache 记录重试次数和超时时间。 com 串存储到资源实体中,但是目前为了简单化,直接提取一个权限表,【综合示例】部分会 使用完整的表结构。 用户实体包括:编号(id)、用户名(username)、密码(password)、盐(salt)、是否锁定(locked); 是否锁定用于封禁用户使用,其实最好使用 Enum 字段存储,可以实现更复杂的用户状态 实现。 角色实体包括:、编号(id)、角色标识符(role)、描述(description)、是否可用(available);0 码力 | 219 页 | 4.16 MB | 10 月前3
Java 应用与开发 - 线程编程suspend() 2 public final void resume() 注意 suspend() 和 resume() 方法已不提倡使用,原因是 suspend() 方 法挂起线程时并不释放其锁定的资源,这可能会影响到其他线程 的执行,且容易导致线程死锁。 大纲 线程基础 线程控制 线程的同步 线程等待与通知 ���� 线程基础 相关知识回顾 线程的概念模型 创建线程 后台线程 线程控制 线程休眠 线程让步 线程挂起与恢复 线程等待与通知 线程的同步 大纲 线程基础 线程控制 线程的同步 线程等待与通知 线程等待与通知 O 将运行中的线程转为阻塞状态的另外一种途径 调用该线程中被锁定资源(Java 对象)的 wait() 方法,该方法 在 Object 类中定义,其功能是让当前线程等待(进入阻塞状态) ,直到有其他线程调用了同一个对象的 notify() 或 notifyAll() ▶ 线程等待时则会释放资源,以使其他线程获得运行机会。 大纲 线程基础 线程控制 线程的同步 线程等待与通知 线程等待与通知 O 将运行中的线程转为阻塞状态的另外一种途径 调用该线程中被锁定资源(Java 对象)的 wait() 方法,该方法 在 Object 类中定义,其功能是让当前线程等待(进入阻塞状态) ,直到有其他线程调用了同一个对象的 notify() 或 notifyAll()0 码力 | 82 页 | 1010.73 KB | 1 年前3
《Java 应用与开发》课程讲义 - 王晓东suspend() 和 resume() 方法已经不提倡使用,原因是 suspend() 方法挂起线程时并不 释放其锁定的资源,这可能会影响到其他线程的执行,且容易导致线程死锁。 14.2.7 线程等待与通知 将运行中的线程转为阻塞状态的另外一种途径是:调用该线程中被锁定资源(Java 对象)的 wait() 方法,该方法在 Object 类中定义,其功能是让当前线程等待,直到有 其他线程调用了同一个对象的 WithdrawMoneyFromBankSample.java 14.3.7 线程死锁 并发运行的多个线程间彼此等待、都无法运行的状态称为线程死锁。 为避免死锁,在线程进入阻塞状态时应尽量释放其锁定的资源,以为其他的线程 提供运行的机会。 . O 相关方法 • public final void wait() • public final void notify() • public0 码力 | 330 页 | 6.54 MB | 1 年前3
Apache Shiro参考手册中文版subject.isAuthenticated()的调用将返回 true。 但是如果登录尝试失败会发生什么呢?例如,如果终端用户提供了不正确的密码,或这访问系统的次数太多, 亦或是他们的帐户被锁定? Shiro 拥有丰富的运行时 AuthenticationException 层次结构,可以指出尝试失败的确切原因。你可以用一个 try/catch 块将 login 方法包围起来,然后0 码力 | 92 页 | 1.16 MB | 1 年前3
Hello 算法 1.1.0 Java版按照顶 点值大小的顺序等,这样有助于快速查找“带有某种极值”的顶点。 205 第 10 章 搜索 Abstract 搜索是一场未知的冒险,我们或许需要走遍神秘空间的每个角落,又或许可以快速锁定目标。 在这场寻觅之旅中,每一次探索都可能得到一个未曾料想的答案。 第 10 章 搜索 hello‑algo.com 206 10.1 二分查找 二分查找(binary search)是一种0 码力 | 378 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0b5 Java版序、或者按照顶点值大小的顺序等等,这样可以有助于快速查找“带有某种极值”的顶点。 204 第 10 章 搜索 � 搜索是一场未知的冒险,我们或许需要走遍神秘空间的每个角落,又或许可以快速锁定目标。 在这场寻觅之旅中,每一次探索都可能得到一个未曾料想的答案。 第 10 章 搜索 hello‑algo.com 205 10.1 二分查找 「二分查找 binary search」是一0 码力 | 376 页 | 30.69 MB | 1 年前3
Hello 算法 1.0.0 Java版加的次序,或者按照顶 点值大小的顺序等,这样有助于快速查找“带有某种极值”的顶点。 206 第 10 章 搜索 � 搜索是一场未知的冒险,我们或许需要走遍神秘空间的每个角落,又或许可以快速锁定目标。 在这场寻觅之旅中,每一次探索都可能得到一个未曾料想的答案。 第 10 章 搜索 hello‑algo.com 207 10.1 二分查找 「二分查找 binary search」是一0 码力 | 376 页 | 17.59 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Java 版按照顶 点值大小的顺序等,这样有助于快速查找“带有某种极值”的顶点。 205 第 10 章 搜索 Abstract 搜索是一场未知的冒险,我们或许需要走遍神秘空间的每个角落,又或许可以快速锁定目标。 在这场寻觅之旅中,每一次探索都可能得到一个未曾料想的答案。 第 10 章 搜索 www.hello‑algo.com 206 10.1 二分查找 二分查找(binary search0 码力 | 379 页 | 18.48 MB | 10 月前3
共 8 条
- 1













