(^o^)/~完美 发表于 2015-4-18 09:28:23

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中。
页: [1]
查看完整版本: CloudStack API访问权限控制