Comments (3)
@ryanwilliamquinn I wonder if this can flow also into the Transitive Permissions feature (#64). Basically, we currently avoid this problem by setting populate: false
. But sails allows you to complexly query for associations and whatnot, and we'll want all these permissions checks to apply to those relations as well
from sails-permissions.
Here is the problem I am running into, and am wondering if it relates to this issue:
I have a model, DataSource, which has a one-to-many with Schema, as follows:
...
attributes: {
label : { type: 'string', required : true, maxLength : 30 },
produces : {
collection : 'schema',
via : 'producedBy'
}
}
...
I have blueprint populate set to false, such that when I load DataSources, I do not also receive the schemas it produces by default. Thus I need to make a call for them on demand. I am doing so via the following blueprint action:
/dataSource/:id/produces
Unfortunately, I am receiving a 404 response, as the CriteriaPolicy is trying to apply the criteria for DataSources to the data which is returned, which is an array of Schema models, not DataSources. Thus, we hit this conditional case in CriteriaPolicy.responsePolicy, and return 404:
if (permitted.length === 0) {
sails.log.info('permitted.length === 0');
return res.send(404);
}
Looks like ModelPolicy may need to be made smarter to identify the blueprint url pattern /model/:id/association, and set the model class to the association's class, not the root model.
Do you plan to make this enhancement? I use the on-demand association request a number of places.
Thanks
from sails-permissions.
This is a rather large bug IMO; a main reason many people use Sails is because of the blueprint & association portion of the API...
Any update on this?
from sails-permissions.
Related Issues (20)
- langa.ioβs server DNS address could not be found.
- RolePolicy Cannot set property 'owner' of undefined HOT 6
- Broken limit, skip and populate find blueprint HOT 1
- Unable to signup unless logged in with Admin account HOT 4
- JWT Support? HOT 13
- Installation HOT 2
- Examples source coded needs to be added HOT 1
- Transfer sails npm user to sails.
- Project Status HOT 3
- read permissions blacklist not working HOT 1
- "Remember Me" functionality HOT 2
- PermissionService relation owner fatal error
- ReferenceError: sails is not defined HOT 2
- Mysql DB connection error HOT 1
- populate()- populating tables permission issue
- Error with Model Name is Account HOT 1
- PermissionService Error HOT 1
- PermissionService.findTargetObjects returns all objects
- Ownership access control for action 'read' not works and package still active?
- TODO remove enum and support permissions based on all controller
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 sails-permissions.