做任何事情,首先要双方就一些概念的理解达成一致,这样大家就有共同语言,后续的沟通效率会高一些。
#,Authentication,认证,也就是验证用户的身份,就是确定你是不是你,比如通过用户名、密码的方式验证,或者某些第三方认证,比如微信认证。
#,Authorization,授权,也叫访问控制,也就是看你是否有权限做什么事情,比如是否有权限看某个文件,或者是否有权限做后台管理;
#,Cipher,加密方式,这里主要有几种常用的加密方式,比如分组密码(Block Ciphers)、流密码(Stream Ciphers)、对称加密(Symmetric Ciphers)、非对称加密(Asymmetric Ciphers)
#,Credential,证书,比如密码、指纹或者网银的Key都算是证书的一种。系统通过将用户提供的证书和系统存储的证书比较,如果一致就认为用户的身份是对的;
#,Hash,哈希,一种单相的数据加密算法;
#,Persmission,权限,用于描述系统的某项基础功能,比如 “打开一个文件”,“查看’/user/list/’页面”,“打印文档”,这些都算是一种权限;
#,Principal,身份,就是一种用于标识用户身份的一种属性,比如邮箱、电话号码、用户名、微信号等;
#,Realm,这是一个用于访问应用程序的用户、角色、权限的组件,可以把它看做是Shiro的DAO(Data Access Object),用于把各种存储介质(比如关系数据库、LDAP、文件)内的用户权限数据转换为Shiro能够理解的格式。
#,Role,角色,在Shiro中,角色就是权限的组合;
#,Session,会话,也就是用户登录之后的上下文,在用户登出之前可以不用传递用户名、密码就可以做各种操作;
#,Subject,起始就是user,但是在Shiro中把它叫做Subject,因为和我们系统交互的不一定是人,也可能是其他的系统。
Shiro官方的解释:http://shiro.apache.org/terminology.html