americancouncils / kalinka-bundle Goto Github PK
View Code? Open in Web Editor NEWSymfony2 bundle for the Kalinka authorization library
License: MIT License
Symfony2 bundle for the Kalinka authorization library
License: MIT License
Write a plugin for the JMS Serializer that will allow an authorizer to be called on a property-by-property basis during serialization/deserialization, if the object is configured for such.
Allow this property/class configuration via annotations.
There should be multiple configurable authorizer services.
Some needed placeholders are already there, but it's not really implemented yet.
Bundle config isn't really being validated at all... it will also need to change a little to allow multiple authorizer service configurations.
This is currently untested.
Using a pattern like in http://symfony.com/doc/current/cookbook/event_dispatcher/before_after_filters.html we should allow app to mark controllers which should authorize all actions, and then check to make sure that an authorization check was made. There should also be a way for actions to explicitly declare that they do not require authorization.
test this case:
Ideally, the serializer metadata stack, and (in the case of deserialization) maybe something like the resolveMetadata method from serializer graphNavigator should give us this information. Does that work, though? In my tests the 'setter' field in propertyMetadata is always blank - this might only work if we use the @Accessor annotation:
http://jmsyst.com/libs/serializer/master/reference/annotations#accessor
We should be able to hypothetically run any controller action; that is, determine if we would be allowed to do it, but not actually mutate anything. To do this, action methods should have a point right before they actually do any potentially destructive act where they check if the request is hypothetical and, if so, immediately return. This requires:
instanceof
, because...Test this case:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.