跟我学Shiro - 张开涛........................................................................................ 5 第二章 身份验证 ................................................................................................. 架构及其组件就认识完了,接下来挨着学习 Shiro 的组件吧。 跟我学 Shiro——http://jinnianshilongnian.iteye.com/ 9 第二章 身份验证 身份验证,即在应用中谁能证明他就是他本人。一般提供如他们的身份 ID 一些标识信息来 表明他就是他本人,如提供身份证,用户名/密码来证明。 在 shiro 中,用户需要提供 principals (身份)和 及创建用户名/密码身份验证 Token(即用户身份/凭证) Subject subject = SecurityUtils.getSubject(); UsernamePasswordToken token = new UsernamePasswordToken("zhang", "123"); try { //4、登录,即身份验证0 码力 | 219 页 | 4.16 MB | 10 月前3
 Apache Shiro参考手册中文版对用户执行访问控制,如:  判断用户是否被分配了一个确定的安全角色  判断用户是否被允许做某事  在任何环境下使用 Session API,即使没有 Web 或 EJB 容器。  在身份验证,访问控制期间或在会话的生命周期,对事件作出反应。  聚集一个或多个用户安全数据的数据源,并作为一个单一的复合用户“视图”。  启用单点登录(SSO)功能。  为没有关联到登录的用户启用"Remember 是一个拥有许多功能的综合性的程序安全框架。下面的图表展示了 Shiro 的重点,并且这个参考手册也 会与之类似的被组织起来: Shiro 把 Shiro 开发团队称为“应用程序的四大基石”——身份验证,授权,会话管理和加密作为其目标。  Authentication:有时也简称为“登录”,这是一个证明用户是他们所说的他们是谁的行为。  Authorization:访问控制的过程,也就是绝对“谁”去访问“什么”。 与安全相 关的数据如用来执行身份验证(登录)及授权(访问控制)的用户帐户交互时,Shiro 从一个或多个为应用程 序配置的 Realm 中寻找许多这样的东西。 在这个意义上说,Realm 本质上是一个特定安全的 DAO:它封装了数据源的连接详细信息,使 Shiro 所需的相 关的数据可用。当配置 Shiro 时,你必须指定至少一个 Realm 用来进行身份验证和/或授权。SecurityManager0 码力 | 92 页 | 1.16 MB | 1 年前3
 Apache Shiro 1.2.x Reference Manual 中文翻译apache.shiro.authc.pam.AuthenticationStrategy) 如果配置了多个 Realm,AuthenticationStrategy 将会协调 Realm 确定在一个身份验证成功 或失败的条件(例如,如果在一个方面验证成功了但其他失败了,这次尝试是成功的吗?是 不是需要所有方面的验证都成功?还是只需要第一个?) Authorizer(org.apache.shiro Shiro 1.2.x Reference Manual 中文翻译 34 4. Configuration 配置 5. Authentication 认证 认证(Authentication):身份验证的过程--也就 是证明一个用户的真实身份。为了证明用户身份,需要提供系统理解和相信的身份信息和证 据。 需要通过向 Shiro 提供用户的身份(principals)和证明(credentials login(token); 在获取当前执行的 Subject 后,我们执行一个单独的 login) 命令,将之前创建的 AuthenticationToken 实例传给它。 调用 login 方法将有效地执行身份验证。 三步:处理成功或失败 Apache Shiro 1.2.x Reference Manual 中文翻译 36 5. Authentication 认证 当login函数没有返回信息时表0 码力 | 196 页 | 2.34 MB | 1 年前3
 百度超级链 XuperChain 3.7 中文文档其中,身份认证流程如下: 身份认证流程通过开关控制,可开启和关闭 DefaultIsAuthentication: true or false 身份验证支持XChain address的验证方式 如果开启身份验证,则身份验证不通过的Stream直接关闭 身份验证是使用XChain的私钥对PeerID+XChain地址的SHA256哈希值进行 签名,并将PeerID、Xuperchain公钥、Xuperchain地址、签名数据一起传递 5. 主要结构修改点 1 2 3 4 5 6 // stream 增加authenticate接口 func (s *Stream) Authenticate() error {} // 收到身份验证消息后的回调处理函数接口 func (p *P2PServerV2) handleGetAuthentication(ctx context.Context, msg *xuper_p2p.XuperMessage) 功后,发起B链上的交易tx2,但tx2 执行失败并不会影响tx1,即不会发生tx1回滚。这种存在依赖的交易,但不保 证多个交易执行满足事务性的场景,是典型的非事务跨链。 非事务跨链的典型场景比如身份验证、预言机、资产跨链转移等等,在技术上 主要强调跨链交易的存在性证明,但对跨链交易的原子性没有要求。 17.4.3.2. 整体方案 非事务跨链典型技术是通过中继实现对目标链数据的数据同步和交易存在性验0 码力 | 270 页 | 24.86 MB | 1 年前3
 百度超级链 XuperChain 3.12-a中文文档功后,发起B链上的交易tx2,但tx2 执行失败并不会影响tx1,即不会发生tx1回滚。这种存在依赖的交易,但不保 证多个交易执行满足事务性的场景,是典型的非事务跨链。 非事务跨链的典型场景比如身份验证、预言机、资产跨链转移等等,在技术 上主要强调跨链交易的存在性证明,但对跨链交易的原子性没有要求。 整体方案 非事务跨链典型技术是通过中继实现对目标链数据的数据同步和交易存在性 验证,类似BT 其中,身份认证流程如下: 身份认证流程通过开关控制,可开启和关闭 DefaultIsAuthentication: true or false 身份验证支持XChain address的验证方式 如果开启身份验证,则身份验证不通过的Stream直接关闭 身份验证是使用XChain的私钥对PeerID+XChain地址的SHA256哈希值进 行签名,并将PeerID、Xuperchain公钥、Xuperchain地址、签名数据一起 传递给对方进行验证 主要结构修改点 1 2 3 4 5 6 // stream 增加authenticate接口 func (s *Stream) Authenticate() error {} // 收到身份验证消息后的回调处理函数接口 func (p *P2PServerV2) handleGetAuthentication(ctx context.Context, msg *xuper_p2p.XuperMessage)0 码力 | 336 页 | 12.62 MB | 1 年前3
 百度超级链 XuperChain 3.12-c 中文文档功后,发起B链上的交易tx2,但tx2 执行失败并不会影响tx1,即不会发生tx1回滚。这种存在依赖的交易,但不保 证多个交易执行满足事务性的场景,是典型的非事务跨链。 非事务跨链的典型场景比如身份验证、预言机、资产跨链转移等等,在技术 上主要强调跨链交易的存在性证明,但对跨链交易的原子性没有要求。 整体方案 非事务跨链典型技术是通过中继实现对目标链数据的数据同步和交易存在性 验证,类似BT 其中,身份认证流程如下: 身份认证流程通过开关控制,可开启和关闭 DefaultIsAuthentication: true or false 身份验证支持XChain address的验证方式 如果开启身份验证,则身份验证不通过的Stream直接关闭 身份验证是使用XChain的私钥对PeerID+XChain地址的SHA256哈希值进 行签名,并将PeerID、Xuperchain公钥、Xuperchain地址、签名数据一起 传递给对方进行验证 主要结构修改点 1 2 3 4 5 6 // stream 增加authenticate接口 func (s *Stream) Authenticate() error {} // 收到身份验证消息后的回调处理函数接口 func (p *P2PServerV2) handleGetAuthentication(ctx context.Context, msg *xuper_p2p.XuperMessage)0 码力 | 336 页 | 12.62 MB | 1 年前3
 百度超级链 XuperChain 3.12 中文文档功后,发起B链上的交易tx2,但tx2 执行失败并不会影响tx1,即不会发生tx1回滚。这种存在依赖的交易,但不保 证多个交易执行满足事务性的场景,是典型的非事务跨链。 非事务跨链的典型场景比如身份验证、预言机、资产跨链转移等等,在技术 上主要强调跨链交易的存在性证明,但对跨链交易的原子性没有要求。 整体方案 非事务跨链典型技术是通过中继实现对目标链数据的数据同步和交易存在性 验证,类似BT 其中,身份认证流程如下: 身份认证流程通过开关控制,可开启和关闭 DefaultIsAuthentication: true or false 身份验证支持XChain address的验证方式 如果开启身份验证,则身份验证不通过的Stream直接关闭 身份验证是使用XChain的私钥对PeerID+XChain地址的SHA256哈希值进 行签名,并将PeerID、Xuperchain公钥、Xuperchain地址、签名数据一起 传递给对方进行验证 主要结构修改点 1 2 3 4 5 6 // stream 增加authenticate接口 func (s *Stream) Authenticate() error {} // 收到身份验证消息后的回调处理函数接口 func (p *P2PServerV2) handleGetAuthentication(ctx context.Context, msg *xuper_p2p.XuperMessage)0 码力 | 336 页 | 12.62 MB | 1 年前3
 百度超级链 XuperChain 3.12-b 中文文档功后,发起B链上的交易tx2,但tx2 执行失败并不会影响tx1,即不会发生tx1回滚。这种存在依赖的交易,但不保 证多个交易执行满足事务性的场景,是典型的非事务跨链。 非事务跨链的典型场景比如身份验证、预言机、资产跨链转移等等,在技术 上主要强调跨链交易的存在性证明,但对跨链交易的原子性没有要求。 整体方案 非事务跨链典型技术是通过中继实现对目标链数据的数据同步和交易存在性 验证,类似BT 其中,身份认证流程如下: 身份认证流程通过开关控制,可开启和关闭 DefaultIsAuthentication: true or false 身份验证支持XChain address的验证方式 如果开启身份验证,则身份验证不通过的Stream直接关闭 身份验证是使用XChain的私钥对PeerID+XChain地址的SHA256哈希值进 行签名,并将PeerID、Xuperchain公钥、Xuperchain地址、签名数据一起 传递给对方进行验证 主要结构修改点 1 2 3 4 5 6 // stream 增加authenticate接口 func (s *Stream) Authenticate() error {} // 收到身份验证消息后的回调处理函数接口 func (p *P2PServerV2) handleGetAuthentication(ctx context.Context, msg *xuper_p2p.XuperMessage)0 码力 | 336 页 | 12.62 MB | 1 年前3
 百度超级链 XuperChain latest 中文文档其中,身份认证流程如下: 身份认证流程通过开关控制,可开启和关闭 DefaultIsAuthentication: true or false 身份验证支持XChain address的验证方式 如果开启身份验证,则身份验证不通过的Stream直接关闭 身份验证是使用XChain的私钥对PeerID+XChain地址的SHA256哈希值进行 签名,并将PeerID、Xuperchain公钥、Xuperchain地址、签名数据一起传递 5. 主要结构修改点 1 2 3 4 5 6 // stream 增加authenticate接口 func (s *Stream) Authenticate() error {} // 收到身份验证消息后的回调处理函数接口 func (p *P2PServerV2) handleGetAuthentication(ctx context.Context, msg *xuper_p2p.XuperMessage) 功后,发起B链上的交易tx2,但tx2 执行失败并不会影响tx1,即不会发生tx1回滚。这种存在依赖的交易,但不保 证多个交易执行满足事务性的场景,是典型的非事务跨链。 非事务跨链的典型场景比如身份验证、预言机、资产跨链转移等等,在技术上 主要强调跨链交易的存在性证明,但对跨链交易的原子性没有要求。 18.4.3.2. 整体方案 非事务跨链典型技术是通过中继实现对目标链数据的数据同步和交易存在性验0 码力 | 316 页 | 24.51 MB | 1 年前3
 百度超级链 XuperChain 3.9-e 中文文档其中,身份认证流程如下: 身份认证流程通过开关控制,可开启和关闭 DefaultIsAuthentication: true or false 身份验证支持XChain address的验证方式 如果开启身份验证,则身份验证不通过的Stream直接关闭 身份验证是使用XChain的私钥对PeerID+XChain地址的SHA256哈希值进行 签名,并将PeerID、Xuperchain公钥、Xuperchain地址、签名数据一起传递 5. 主要结构修改点 1 2 3 4 5 6 // stream 增加authenticate接口 func (s *Stream) Authenticate() error {} // 收到身份验证消息后的回调处理函数接口 func (p *P2PServerV2) handleGetAuthentication(ctx context.Context, msg *xuper_p2p.XuperMessage) 功后,发起B链上的交易tx2,但tx2 执行失败并不会影响tx1,即不会发生tx1回滚。这种存在依赖的交易,但不保 证多个交易执行满足事务性的场景,是典型的非事务跨链。 非事务跨链的典型场景比如身份验证、预言机、资产跨链转移等等,在技术上 主要强调跨链交易的存在性证明,但对跨链交易的原子性没有要求。 18.4.3.2. 整体方案 非事务跨链典型技术是通过中继实现对目标链数据的数据同步和交易存在性验0 码力 | 317 页 | 27.80 MB | 1 年前3
共 73 条
- 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 8
 













