Skip to content

Instantly share code, notes, and snippets.

View vitorbg's full-sized avatar

Vitor Gonçalves vitorbg

View GitHub Profile
@vitorbg
vitorbg / AccessControlService.java
Created November 3, 2020 13:32
[AOP-ModuleSecurity] AccessControlService
@Service
public class AccessControlService {
public boolean verifyUserModuleAccess(String user, ModuleEnum moduleEnum) {
//Rule for User and Module access
return true;
}
}
@vitorbg
vitorbg / SecurityAspectConfig.java
Created November 3, 2020 13:30
[AOP-ModuleSecurity] SecurityAspectConfig
@Component
@Aspect
public class SecurityAspectConfig {
private final AccessControlService accessControlService;
public SecurityAspectConfig(AccessControlService accessControlService) {
this.accessControlService = accessControlService;
}
@vitorbg
vitorbg / PaymentsController.java
Last active November 3, 2020 13:40
[AOP-ModuleSecurity] PaymentsController
@RestController
@RequestMapping("/api/v1/payments")
public class PaymentsController implements ModuleSecurity {
@GetMapping
public String getPayments() { return "Payments "; }
@Override
public ModuleEnum getModule() { return ModuleEnum.MODULE_PAYMENTS; }
@vitorbg
vitorbg / PeopleController.java
Last active November 3, 2020 13:45
[AOP-ModuleSecurity] PeopleController
@RestController
@RequestMapping("/api/v1/people")
public class PeopleController implements ModuleSecurity {
@GetMapping
public String getPeople() { return "People "; }
@Override
public ModuleEnum getModule() { return ModuleEnum.MODULE_PEOPLE; }
@vitorbg
vitorbg / ModuleSecurity.java
Created November 3, 2020 13:26
[AOP-ModuleSecurity] ModuleSecurity
public interface ModuleSecurity {
ModuleEnum getModule();
}
@vitorbg
vitorbg / ModuleEnum.java
Last active November 3, 2020 13:23
[AOP-ModuleSecurity] ModuleEnum
public enum ModuleEnum {
MODULE_PEOPLE,
MODULE_PAYMENTS,
}