常见的权限控制的方式(URL拦截的方式、方法注解的方式)
两种方式实际上都会遵从的后台流程图如下所示:
shiro的Web流程图
而所谓的URL拦截无非就是在中间的一层使用配置文件的配置URL拦截;
而方法注解也就是在对应的业务方法上就像注解标示标示,例如:
@RequiresPermissions(value="XXX.xxx")
3、权限涉及到的数据表以及模型关系
shiro中设计到的数据表结构
用户认证流程
关键对象
subject:主体,理解为用户,可能是程序,都要去访问系统的资源,系统需要对subject进行身份认证。
principal:身份信息,通常是唯一的,一个主体可以有多个身份信息,但是只能有一个主身份信息(primary principal)。
credential:凭证信息,可以是密码、证书、指纹等。
总结:主体在进行身份认证时需要提供身份信息和凭证信息。
用户授权
用户授权概念
用户授权,简单理解为访问控制,在用户认证通过后,系统对用户访问资源进行控制,当用户具有资源的访问权限方可访问。
授权流程
其中橙色为授权流程