Appearance
访问权限 ¶
TIP
访问权限用于控制用户对资源的访问,主要分为后端接口和前端页面两种,其中页面是否可以访问通过菜单管理进行了实现,所以此处访问权限对前端只关注处理页面中的元素, 例如按钮、表单项、表格列等。
权限类别 ¶
常规角色鉴权接口 ¶
该类型的接口如果配置完毕后,而没有进行任何的权限集分配的话,那么就只允许超级管理员进行访问而已,如果要使用该类型的接口,那么必须进行权限的分配。
讲一个接口设置为常规角色鉴权接口,通常有下列两种方式:
- 可视化配置,通常一个接口不进行特殊配置的话,默认就是需要进行鉴权的。通过管理后台对接口进行配置,此时这个接口作为一类权限资源,可以通过分配给角色进行控制。
- 借助权限码实现,通过在Controller类或方法上添加
@PermCode
注解,就可以将访问接口纳入权限码的管理中,此时会根据角色所拥有的权限码进行鉴权。
用户可以访问的方式:
- 用户作为超级管理员账号的话,拥有对所有用户、角色、菜单、接口、权限的完全控制权,就算不进行配置也默认拥有所有权限
- 用户拥有某个角色,并且角色拥有某个权限码,那么用户就可以访问这个权限码对应的接口
- 用户拥有某个角色,并且角色拥有对应的访问权限资源,那么用户就可以访问这个对应的接口
例子:
java
公开可访问接口 ¶
公开可访问接口,无需进行角色权限校验以及不会进行用户信息的收集,此类型接口不会获取用户信息,也不可以强制必须获取用户信息,例如登录接口、注册接口、获取验证码接口、获取短信接口等。
通常用下列集中方式标识接口为公开可访问的:
- 在
bootx.starter.auth.ignoreUrls
中配置该接口路径,在访问是将不会进行鉴权 - 在
Controller
类上添加@IgnoreAuth
注解,该注解标识该Controller下的所有接口都不需要鉴权 - 在
Controller
类中的方法上添加@IgnoreAuth
注解,该方法对应的接口将不需要鉴权 - 在可视化界面中,配置接口为公开可访问的类型
例子:
123
java
登录可访问接口 ¶
登录可访问接口,该类型的接口无需进行权限的分配,也就是说它不需要将权限分配给对应的角色等等,只要访问该接口的用户已登录了,那么就有访问该接口的权限了。
通常用下列集中方式标识接口为公开可访问的:
- 在
Controller
类上添加@IgnoreAuth(ignore = false, login = true)
注解,该注解标识该Controller下的所有接口都只需要登录即可访问 - 在
Controller
类中的方法上添加@IgnoreAuth(ignore = false, login = true)
注解,该方法对应的接口将需要登录即可访问 - 在可视化界面中,配置接口为登录可访问的类型
可视化配置 ¶
权限码控制 ¶
前端控制 ¶
其他情况 ¶
系统超级管理员
系统超级管理员拥有最高权限,拥有对所有用户、角色、菜单、接口、权限的完全控制权,就算不进行配置也默认拥有所有权限。
登录即可访问