Browse Source

ui: [BUGFIX] Ensure we use the ns query param name when requesting permissions (#10608)

Previously when namespaces were enabled, we weren't requesting permission for the actively selected namespace, and instead always checking the permissions for the default namespace.

This commit ensures we request permissions for the actively selected namespace.
pull/10619/head
John Cowen 3 years ago committed by GitHub
parent
commit
0762da3a62
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      .changelog/10608.txt
  2. 2
      ui/packages/consul-ui/app/adapters/permission.js
  3. 2
      ui/packages/consul-ui/app/routes/dc.js
  4. 2
      ui/packages/consul-ui/app/routes/settings.js

3
.changelog/10608.txt

@ -0,0 +1,3 @@
```release-note:bug
ui: **(Enterprise only)** Ensure permissions are checked based on the actively selected namespace
```

2
ui/packages/consul-ui/app/adapters/permission.js

@ -7,7 +7,7 @@ export default class PermissionAdapter extends Adapter {
requestForAuthorize(request, { dc, ns, resources = [], index }) {
// the authorize endpoint is slightly different to all others in that it
// ignores an ns parameter, but accepts a Namespace property on each
// resource. Here we hide this different from the rest of the app as
// resource. Here we hide this difference from the rest of the app as
// currently we never need to ask for permissions/resources for multiple
// different namespaces in one call so here we use the ns param and add
// this to the resources instead of passing through on the queryParameter

2
ui/packages/consul-ui/app/routes/dc.js

@ -21,7 +21,7 @@ export default class DcRoute extends Route {
// When disabled nspaces is [], so nspace is undefined
const permissions = await this.permissionsRepo.findAll({
dc: params.dc,
nspace: get(nspace || {}, 'Name'),
ns: get(nspace || {}, 'Name'),
});
// the model here is actually required for the entire application
// but we need to wait until we are in this route so we know what the dc

2
ui/packages/consul-ui/app/routes/settings.js

@ -28,7 +28,7 @@ export default class SettingsRoute extends Route {
typeof app.permissions === 'undefined'
? await this.permissionsRepo.findAll({
dc: dc.Name,
nspace: nspace.Name,
ns: nspace.Name,
})
: app.permissions;

Loading…
Cancel
Save