-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37209/#review104920
-----------------------------------------------------------

Ship it!


Please check this into the GEODE-17 branch but don't merge to develop

- Jens Deppe


On Aug. 21, 2015, 12:27 p.m., Tushar Khairnar wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37209/
> -----------------------------------------------------------
> 
> (Updated Aug. 21, 2015, 12:27 p.m.)
> 
> 
> Review request for geode, Amogh Shetkar, Jens Deppe, and Nilkanth Patel.
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> GEODE-77 : Integrated Security Code Merge
> 
> This is manual merge of code from int_security branch.
> 
> Testing done : JMX RMI-connector testing done from JConsole, Gfsh interactive 
> testing with different roles. DUnits are not yet integrated into open.
> 
> 
> Adding description about changes done
> 
> JMX - Key Changes
> 
>       ManagementAgent.java 
>               Hooks managementInterceptor when security plugins are configured
>               
>       ManagementInterceptor.java 
>               Central interceptor for JMX RMI connector.
>               Each JMX call go through interceptor via MBeanServerWrapper in 
> following fashion
> 
>               jmx(mxbean.op()) -> mbeanServerWrapper -> interceptor -> 
> security plugin -> back to wrapper -> mxbean.op()
> 
>       ResourceOperationContext 
>               OperationContext for all m&m resource operations.
>               This returns operation code as RESOURCE (except for data 
> commands) and has additional code called resourceOperationCode which return 
> exact operation requested
>               
>       ResourceOperation
>               This annotation is used to mark mxbean interfaces and commands 
> to corresponding m&m action
> 
>       JMXOperationContext 
>               describes mbean operation(getAttr,SetAttr,Op) in terms of 
> ResourceOperationContext.
>               Parses all MXBean annotation and build map used for mapping jmx 
> calls to resource codes 
>       CLIOperationContext 
>               describes gfsh command(name, params) in terms of 
> ResourceOperationContext
>               Parses all Command annotation and build map used for mapping 
> gfsh command calls to resource codes
> 
>       *MXBean and *Commands Changes 
>               Added ResourceOperation annotation              
> 
> REST ADMIN - Key Changes
> 
>       AuthManager
>               gateway to authorize and authenticate REST ADMIN        
>               
>       internal/web/controllers/AbstractCommandsController.java
>               Changes for ADMIN REST to add authentication and authorization 
> callbacks
> 
> Pulse - Key Changes from gemfire side
> 
>       AccessControlMXBean/AccessControlContext
>               This is hidden mbean which opens up authorization end-point for 
> Pulse
>               Pulse will access this mbean to know its authorization levels 
> after connecting with given credentials
>               Any JMX Client can use this mbean to know its (currrent jmx 
> connection) authorization levels
>               
> REST - Key changes
>       
>       gemfire-web-api - AbstractBaseController.java and other controller 
> classes
>               REST API changes for At & Az
>               
>       DistributionConfig (its impl)
>               New system properties token-service for REST
> 
>       TokenService
>               New interface for REST endpoint which is supposed to give 
> secured token when given Princial
>               
>       RestAPIsOperationContext
>               OperationContext for REST API
> 
> 
> Diffs
> -----
> 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/cache/operations/OperationContext.java
>  d25063c 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/cache/operations/RestAPIsOperationContext.java
>  PRE-CREATION 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/distributed/DistributedSystem.java
>  b7b2cd8 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/AbstractDistributionConfig.java
>  472959d 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionConfig.java
>  10094a9 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionConfigImpl.java
>  b8dfeb3 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/internal/i18n/LocalizedStrings.java
>  f5ae3e5 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/internal/security/AuthorizeRequest.java
>  8ba07a2 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/CacheServerMXBean.java
>  59f6537 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/DiskStoreMXBean.java
>  f14d16c 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/DistributedSystemMXBean.java
>  f0a0a79 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/GatewayReceiverMXBean.java
>  3e5ba1a 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/GatewaySenderMXBean.java
>  b6c5219 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/LockServiceMXBean.java
>  e53d50a 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/ManagerMXBean.java 
> 04fda7e 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/MemberMXBean.java 
> e935fcd 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/AuthManager.java
>  PRE-CREATION 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/ManagementAgent.java
>  43bfe73 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/RestAgent.java
>  74695ee 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/SystemManagementService.java
>  d8f6983 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/ClientCommands.java
>  2eb1318 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/ConfigCommands.java
>  279fb45 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java
>  919d6fe 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/DataCommands.java
>  9e60839 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/DeployCommands.java
>  4591b53 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/DiskStoreCommands.java
>  4614ce7 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/DurableClientCommands.java
>  01910d6 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/ExportImportSharedConfigurationCommands.java
>  d4134ad 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/FunctionCommands.java
>  0d8c54a 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/GfshHelpCommands.java
>  d9d4bea 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/IndexCommands.java
>  c978381 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/LauncherLifecycleCommands.java
>  302d7bb 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/MemberCommands.java
>  797f654 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/MiscellaneousCommands.java
>  da8f11d 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/PDXCommands.java
>  d236d81 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/QueueCommands.java
>  7b298d6 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/RegionCommands.java
>  80ba89e 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/ShellCommands.java
>  4bdab90 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/StatusCommands.java
>  5abd08a 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/WanCommands.java
>  a6d9abf 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/shell/JmxOperationInvoker.java
>  864907b 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/AccessControl.java
>  58040cd 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/AccessControlContext.java
>  1926db5 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/AccessControlMXBean.java
>  e217045 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/CLIOperationContext.java
>  b0198e4 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/JMXOperationContext.java
>  375cc27 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/JSONAuthorization.java
>  d85ce65 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/MBeanServerWrapper.java
>  50942c1 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/ManagementInterceptor.java
>  1851977 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/Resource.java
>  4dc27e1 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/ResourceConstants.java
>  3f4d7cb 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/ResourceOperation.java
>  f149479 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/ResourceOperationContext.java
>  aa1c38c 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/SetAttributesOperationContext.java
>  PRE-CREATION 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/AbstractCommandsController.java
>  73ce926 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/ConfigCommandsController.java
>  517d942 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/DataCommandsController.java
>  6767ec1 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/DiskStoreCommandsController.java
>  2df3432 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/FunctionCommandsController.java
>  de81543 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/MiscellaneousCommandsController.java
>  66d344f 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/WanCommandsController.java
>  1e22bd9 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/support/EnvironmentVariablesHandlerInterceptor.java
>  8ebed02 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/http/support/SimpleHttpRequester.java
>  8bd9d37 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/shell/AbstractHttpOperationInvoker.java
>  dac1271 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/shell/RestHttpOperationInvoker.java
>  0dfbdbd 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/shell/SimpleHttpOperationInvoker.java
>  a122339 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/security/GeodeTokenService.java
>  PRE-CREATION 
>   gemfire-core/src/main/java/com/gemstone/gemfire/security/TokenService.java 
> PRE-CREATION 
>   
> gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/extension/mock/MockExtensionCommands.java
>  89644f0 
>   
> gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/cli/CommandManagerJUnitTest.java
>  ab9333d 
>   
> gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/cli/GfshParserJUnitTest.java
>  126bb88 
>   
> gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/cli/shell/GfshExecutionStrategyJUnitTest.java
>  44aef44 
>   
> gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/security/JSONAuthCodeTest.java
>  384493b 
>   
> gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/security/ResourceOperationJUnit.java
>  f061240 
>   
> gemfire-core/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestTestUtils.java
>  d2499fe 
>   
> gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/AbstractBaseController.java
>  feed8c7 
>   
> gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/BaseControllerAdvice.java
>  5ae88bc 
>   
> gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/CommonCrudController.java
>  ef52347 
>   
> gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/FunctionAccessController.java
>  45d6f66 
>   
> gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/PdxBasedCrudController.java
>  96551c6 
>   
> gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/QueryAccessController.java
>  b20c849 
>   
> gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/security/AuthorizationProvider.java
>  PRE-CREATION 
>   
> gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/security/FunctionExecutionPostAuthzRC.java
>  PRE-CREATION 
>   
> gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/security/RestRequestFilter.java
>  PRE-CREATION 
>   gemfire-web-api/src/main/webapp/WEB-INF/web.xml 554ef4b 
> 
> Diff: https://reviews.apache.org/r/37209/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Tushar Khairnar
> 
>

Reply via email to