Comments (5)
Hi did You try something ike this ?
permissions: {
only: ['p1','p2'],
redirectTo: {
p1: '/route/p1',
p2: '/route/p2',
default: 'login'
}
}
If this doesnt work its possible to create customGuard and use ngxPermissionsGuard in the constructor of your guard to just check permissions.
from ngx-permissions.
thanks for your reply, but unfortunately, it will be dead looping and redirect to the page with this setting and let the browser hang, can you show me some simple how to create customGuard and use ngxPermissionsGuard ?
many thanks!
from ngx-permissions.
The main idea is this one
If You want to see video https://www.youtube.com/watch?v=d92LXFfdrJc&list=PLHw3vRAUIqUOLqBpoR-eYvZxiPGPh18y5&index=8&t=1s
and this is code for easier understanding
@Injectable({
providedIn: 'root'
})
export class CustomGuard implements CanActivate {
constructor(private ngxPermissionsGuard: NgxPermissionsGuard,
private router: Router) {
}
canActivate(
route: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {
const alwaysData = route.data['permissions'].always
const notFoundData = route.data['permissions'].notFound
const alwaysRequestData: any = {
...route,
data: {
permissions: {
only: alwaysData
}
}
}
const notFoundRequestData: any = {
...route,
data: {
permissions: {
only: notFoundData
}
}
}
const alwaysGuard = this.ngxPermissionsGuard.canActivate(alwaysRequestData, state) as Promise<boolean>
const notFoundGuard = this.ngxPermissionsGuard.canActivate(notFoundRequestData, state) as Promise<boolean>
return alwaysGuard.then((data) => {
if (!data) {
this.router.navigate(['denied'])
return Promise.reject();
}
return notFoundGuard
}).then((data) => {
if (!data) {
this.router.navigate(['not-found'])
}
return data;
});
}
}
from ngx-permissions.
I will try and study it, many thanks!
from ngx-permissions.
I have solved the problem, thanks!
from ngx-permissions.
Related Issues (20)
- SyntaxError: Cannot use import statement outside a module
- Help Ukraine any help
- Roles With Permissions HOT 2
- Guard is not working with angular SSR
- `getPermission` returns an incomplete type HOT 2
- Can't bind to 'ngxPermissionsOnly' since it isn't a known property of 'div' HOT 6
- Add flag to disable ngx-permissions in runtime HOT 4
- Cannot find module 'ngx-permissions' from HOT 1
- ngx-permissions not working in child-components (features) HOT 1
- [feaure] - NgxPermissionsGuard - implement "canMatch" HOT 2
- routeStateSnapshot in redirect is undefined HOT 1
- Set NgxPermissionsGuard functions to protected access levels HOT 2
- Unable to make NgxPermissionsService singleton across application and dependent libraries HOT 2
- Angular 16 support with providers HOT 4
- Check if all permissions from array are present
- How to use Rolle and Permission without Rolle HOT 3
- Identify the directive in the loadPermissions function HOT 1
- NgxPermissionsGuard deprecated HOT 2
- Angular 17 Support HOT 4
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 ngx-permissions.