ant design pro v2 关于用户登录有多个权限的解决方法

  ant design pro V2菜单栏显示流程, 用户输入用户名,密码,登录调用登录接口,校验后返回该用户的权限字段currentAuthority,然后通过调用setAuthority(currentAuthority)函数来设置该用户的菜单栏权限,(setAuthority函数位于src/utils/authorty.js中),setAuthority函数将权限字段放在缓存中,登录后与菜单栏路由文件中的authorty字段比对。源程序针对登录返回的currentAuthority字段为单个权限字段,如果需要多个权限,则不能返回正确的比对字段,所以需要修改源程序。

  首先setAuthority(currentAuthority)函数传入的多个权限字段的格式为字符串,中间用逗号隔开,如”user,admin“,然后修改src/utils/authorty.js中的setAuthority函数,在判断authority是否为字符串之前,先对传入的参数authority进行一个判断,判断authority中的‘,’个数是否大于零,如果大于0,说明有多个权限,调用split()函数将字符串分割成字符串数组,否则保持原样。这样authority字段就会变成权限数组,用户将拥有多个权限。

  src/models/login.js代码如图所示。

  ant design pro v2   关于用户登录有多个权限的解决方法

 

  src/utils/authorty.js中etAuthority()函数如图所示

  ant design pro v2   关于用户登录有多个权限的解决方法

上一篇:Android清单XML提供程序标签. android:authorities


下一篇:关于英语中对于权限的几个单词做个介绍