CloudStack API访问权限控制

时间:2014-04-29 10:42:46   收藏:0   阅读:629

      在我写开始之前,请先看下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接口,具体看下图:

      mamicode.com,码迷

        commandsPropertiesOverrides变量是存放所有command名称的Set,而commandsPropertiesRoleBasedApisMap是RoleType与command对应的Map。

        configure()方法读取出command.properties文件并调用processMapping()将apiName增加到commandsPropertiesOverrides中,将roleType和apiName加到commandsPropertiesRoleBasedApisMap中。

CloudStack API访问权限控制,码迷,mamicode.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!