Apache Shiro 术语

请只花 2 分钟阅读并理解它-这确实很重要。真。这里的术语和概念在文档中到处都有提及,它将极大地简化您对 Shiro 和安全性的总体理解。

由于使用了术语,因此安全性确实令人困惑。通过阐明一些核心概念,我们将使生活更轻松,并且您将看到 Shiro API 很好地反映了它们:

密码有不同的变化。块密码器处理通常具有固定大小的符号块,而流密码器处理连续的符号流。对称密码使用相同的密钥进行加密和解密,而非对称密码使用不同的密钥。而且,如果不能从另一个密钥中推导出非对称密码中的密钥,则可以公开共享一个密钥,从而创建公用/专用密钥对。

这个想法是,对于一位校长,只有一个人会知道与该校长“配对”的正确凭证。如果当前用户/主题提供的正确凭据与系统中存储的凭据相匹配,则系统可以假定并相信当前用户/主题确实是他们所说的真实身份。信任程度会随着凭据类型的安全性提高(例如 bioFeature 签名>密码)而增加。

权限的一些示例:

Shiro 还引用了我们称为Subject的* primary *主体的内容。 * Primary *主体是在整个应用程序中唯一标识Subject的任何主体。理想的主要主体是诸如用户名或用户 ID 之类的东西,后者是 RDBMS 用户表的主键。应用程序中的用户(主题)只有一个主要主体。

领域通常与数据源(例如关系数据库,LDAP 目录,文件系统或其他类似资源)具有一对一的关联。这样,Realm 接口的实现使用特定于数据源的 API 来发现授权数据(角色,权限等),例如 JDBC,文件 IO,Hibernate 或 JPA 或任何其他数据访问 API。

这比许多应用程序使用的隐式定义更为具体。如果选择让数据模型反映 Shiro 的假设,则会发现您在控制安全策略方面将拥有更大的权力。

对于熟悉 HttpSession 的人来说,Shiro Session可以达到相同的目的,除了 Shiro 会话可以在任何环境中使用,即使没有 Servlet 容器或 EJB 容器也可以使用。

协助处理文档

尽管我们希望该文档对您使用 Apache Shiro 所做的工作有所帮助,但社区一直在不断改进和扩展文档。如果您想为 Shiro 项目提供帮助,请考虑在需要的地方更正,扩展或添加文档。您提供的每一点帮助都会扩大社区,进而改善 Shiro。

贡献文档的最简单方法是将其发送到User Forum用户邮件列表

首页