[{"title":"( 45 个子文件 39KB ) AbacSpringSecurity:带有Spring Security的基于属性的访问控制","children":[{"title":"AbacSpringSecurity-master","children":[{"title":"pom.xml <span style='color:#111;'> 1.20KB </span>","children":null,"spread":false},{"title":"access-control","children":[{"title":"pom.xml <span style='color:#111;'> 1.40KB </span>","children":null,"spread":false},{"title":"src","children":[{"title":"main","children":[{"title":"java","children":[{"title":"edu","children":[{"title":"mostafa","children":[{"title":"abac","children":[{"title":"security","children":[{"title":"policy","children":[{"title":"SimplePolicyDefinition.java <span style='color:#111;'> 978B </span>","children":null,"spread":false},{"title":"SecurityAccessContext.java <span style='color:#111;'> 2.17KB </span>","children":null,"spread":false},{"title":"PolicyRule.java <span style='color:#111;'> 1.34KB </span>","children":null,"spread":false},{"title":"PolicyEnforcement.java <span style='color:#111;'> 173B </span>","children":null,"spread":false},{"title":"json","children":[{"title":"SpelDeserializer.java <span style='color:#111;'> 1.07KB </span>","children":null,"spread":false},{"title":"JsonFilePolicyDefinition.java <span style='color:#111;'> 2.37KB </span>","children":null,"spread":false}],"spread":false},{"title":"BasicPolicyEnforcement.java <span style='color:#111;'> 2.14KB </span>","children":null,"spread":false},{"title":"PolicyDefinition.java <span style='color:#111;'> 156B </span>","children":null,"spread":false}],"spread":true},{"title":"spring","children":[{"title":"AbacPermissionEvaluator.java <span style='color:#111;'> 1.56KB </span>","children":null,"spread":false},{"title":"ContextAwarePolicyEnforcement.java <span style='color:#111;'> 1.39KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":".gitignore <span style='color:#111;'> 59B </span>","children":null,"spread":false}],"spread":true},{"title":"LICENSE <span style='color:#111;'> 1.05KB </span>","children":null,"spread":false},{"title":"sample-issue-tracker","children":[{"title":"pom.xml <span style='color:#111;'> 2.83KB </span>","children":null,"spread":false},{"title":"src","children":[{"title":"main","children":[{"title":"resources","children":[{"title":"logback.xml <span style='color:#111;'> 623B </span>","children":null,"spread":false},{"title":"application.properties <span style='color:#111;'> 43B </span>","children":null,"spread":false},{"title":"edu","children":[{"title":"mostafa","children":[{"title":"abac","children":[{"title":"security","children":[{"title":"policy","children":[{"title":"json","children":[{"title":"default-policy.json <span style='color:#111;'> 2.22KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"java","children":[{"title":"edu","children":[{"title":"mostafa","children":[{"title":"abac","children":[{"title":"config","children":[{"title":"InMemoryUserDetailsService.java <span style='color:#111;'> 2.65KB </span>","children":null,"spread":false},{"title":"HttpAuthenticationEntryPoint.java <span style='color:#111;'> 717B </span>","children":null,"spread":false},{"title":"AbacWebInitializer.java <span style='color:#111;'> 527B </span>","children":null,"spread":false},{"title":"AbacSecurityInitializer.java <span style='color:#111;'> 223B </span>","children":null,"spread":false},{"title":"MethodSecurityConfig.java <span style='color:#111;'> 1.01KB </span>","children":null,"spread":false},{"title":"RootConfiguration.java <span style='color:#111;'> 1.44KB </span>","children":null,"spread":false},{"title":"ProjectSecurityUser.java <span style='color:#111;'> 1.63KB </span>","children":null,"spread":false}],"spread":true},{"title":"web","children":[{"title":"model","children":[{"title":"IssueStatus.java <span style='color:#111;'> 96B </span>","children":null,"spread":false},{"title":"ProjectUser.java <span style='color:#111;'> 250B </span>","children":null,"spread":false},{"title":"UserRole.java <span style='color:#111;'> 97B </span>","children":null,"spread":false},{"title":"IssueType.java <span style='color:#111;'> 79B </span>","children":null,"spread":false},{"title":"Project.java <span style='color:#111;'> 900B </span>","children":null,"spread":false},{"title":"Issue.java <span style='color:#111;'> 2.01KB </span>","children":null,"spread":false},{"title":"BasicProjectUser.java <span style='color:#111;'> 639B </span>","children":null,"spread":false}],"spread":false},{"title":"controllers","children":[{"title":"IssuesController.java <span style='color:#111;'> 6.67KB </span>","children":null,"spread":false},{"title":"ExceptionControllerAdvice.java <span style='color:#111;'> 712B </span>","children":null,"spread":false},{"title":"ProjectController.java <span style='color:#111;'> 8.38KB </span>","children":null,"spread":false}],"spread":false},{"title":"services","children":[{"title":"UserService.java <span style='color:#111;'> 254B </span>","children":null,"spread":false},{"title":"IssueService.java <span style='color:#111;'> 398B </span>","children":null,"spread":false},{"title":"ProjectService.java <span style='color:#111;'> 369B </span>","children":null,"spread":false},{"title":"impl","children":[{"title":"InMemorySequence.java <span style='color:#111;'> 258B </span>","children":null,"spread":false},{"title":"InMemoryProjectService.java <span style='color:#111;'> 1.55KB </span>","children":null,"spread":false},{"title":"InMemoryIssueService.java <span style='color:#111;'> 3.23KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":".gitignore <span style='color:#111;'> 59B </span>","children":null,"spread":false}],"spread":true},{"title":"AbacSpringSecurity.postman_collection.json <span style='color:#111;'> 7.54KB </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 268B </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 1.41KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]