首页 > 代码库 > CloudStack API访问权限控制
CloudStack API访问权限控制
在我写开始之前,请先看下CS中国社区的一篇文章http://www.cloudstack-china.org/2012/12/1465.html,在第1点里讲了关于权限级别,command属性文件位置等问题。不过4.3现在的除了command.properties外,作者提到的其它properties文件现在好像都没有了,而且command里面现在形如***command=15,“=”后面不再有处理请求命令的类。
API请求由ApiServlet拦截后,会调用verifyRequest()方法做该用户是否有调用该API的权限验证。
关键处理逻辑是在StaticRoleBasedAPIAccessChecker类。
该类实现APIChecker接口,具体看下图:
commandsPropertiesOverrides变量是存放所有command名称的Set,而commandsPropertiesRoleBasedApisMap是RoleType与command对应的Map。
configure()方法读取出command.properties文件并调用processMapping()将apiName增加到commandsPropertiesOverrides中,将roleType和apiName加到commandsPropertiesRoleBasedApisMap中。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。