Comments (1)
I reviewed the can_update() method all models to ensure we are enforcing write permissions as described in the "Access Control" section of OpenCloud guide: http://open-cloud.github.io/0_overview/
Most of the changes are contained in these commits:
62807a0
60deb5a
There were some inconsistencies that needed to be fixed. I also refactored the permission checking business rules and moved them the user model. Every model still has a can_update(user) method, but instead of containing business rules object.can_update(user) just calls user.can_update_object(object). Moving the business rules out of the various object.can_update() and moving them into the user model helped eliminate redundant and inconsistent code form our object models.
I'm in the process of writing regression tests to check object write permissions. Once this is done I plan to create a script that builds a docker container and runs the tests inside the container, allowing us to quickly and easily verify our object write permissions for future builds. I hope to get this integrated into the jenkins build job.
from xos.
Related Issues (20)
- docker build -t xos . is failing: createdb: could not connect to database... HOT 3
- Clean up HPC / RR code dependencies
- indicate if a site only hosts nodes/users or both. HOT 1
- /xos/imagedeploymentses/
- "controller_kind": "none" is invalid HOT 1
- "enacted" is a required field for PATCH xos/users/{pk}/
- unsupported parameter for module: token HOT 1
- Failing to type a slice name in the Tenant view's <Create Slice> feature causes a 500 error HOT 9
- Tenancy Graph View - Error 500 HOT 3
- xosproject/xos image: Tabs don't work in GUI
- xosproject/xos image: Initial login screen is messed up HOT 1
- slice creation fails
- Cannot create new slice using Tenant view HOT 3
- little cloud icon stays red
- Instance creator has no privileges on Slice
- Can't uncheck site's "Hosts nodes" field via GUI
- deleting instance in XOS does not delete it in OpenStack
- Error when starting development docker containers
- how to run in physical machine instead of virtual machine
- Sometimes non-responsive DNS resolvers are configured in instances HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xos.