摘要: 关于在spring 容器初始化 bean 和销毁前所做的操作定义方式有三种: 第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作 第二种是:通过 在xml中定义init-method 和 destory-method方法 第三种是: 通 阅读全文
posted @ 2017-04-05 16:14 sky丶尕少 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 在创建账户及修改密码时直接把生成密码操作委托给PasswordHelper。 阅读全文
posted @ 2017-04-05 15:01 sky丶尕少 阅读(954) 评论(0) 推荐(0) 编辑
摘要: 在涉及到密码存储问题上,应该加密/生成密码摘要存储,而不是存储明文密码。比如之前的600w csdn账号泄露对用户可能造成很大损失,因此应加密/生成不可逆的摘要方式存储。 5.1 编码/解码 Shiro提供了base64和16进制字符串编码/解码的API支持,方便一些编码解码操作。Shiro内部的一 阅读全文
posted @ 2017-04-05 11:36 sky丶尕少 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 之前章节我们已经接触过一些INI配置规则了,如果大家使用过如Spring之类的IoC/DI容器的话,Shiro提供的INI配置也是非常类似的,即可以理解为是一个IoC/DI容器,但是区别在于它从一个根对象securityManager开始。 4.1 根对象SecurityManager 从之前的Sh 阅读全文
posted @ 2017-04-05 10:44 sky丶尕少 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 授权,也叫访问控制,即在应用中控制谁能访问哪些资源(如访问页面/编辑数据/页面操作等)。在授权中需了解的几个关键对象:主体(Subject)、资源(Resource)、权限(Permission)、角色(Role)。 主体 主体,即访问应用的用户,在Shiro中使用Subject代表该用户。用户只有 阅读全文
posted @ 2017-04-05 10:37 sky丶尕少 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 1)提供的接口数量不完全相同。 assertEquals支持boolean,long,int等等java primitiveType变量。assertSame只支持Object。 2)比较的逻辑不同,结果可能不同。assertSame是对象直接比较。assertEquals能利用被比较对象提供的比较 阅读全文
posted @ 2017-04-05 09:26 sky丶尕少 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 身份认证流程 流程如下: 1、首先调用Subject.login(token)进行登录,其会自动委托给Security Manager,调用之前必须通过SecurityUtils. setSecurityManager()设置; 2、SecurityManager负责真正的身份验证逻辑;它会委托给A 阅读全文
posted @ 2017-04-05 09:25 sky丶尕少 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 身份验证,即在应用中谁能证明他就是他本人。一般提供如他们的身份ID一些标识信息来表明他就是他本人,如提供身份证,用户名/密码来证明。 在shiro中,用户需要提供principals (身份)和credentials(证明)给shiro,从而应用能验证用户身份: principals:身份,即主体的 阅读全文
posted @ 2017-04-05 08:55 sky丶尕少 阅读(348) 评论(0) 推荐(0) 编辑