Coder Social home page Coder Social logo

Comments (2)

christopherthielen avatar christopherthielen commented on April 27, 2024 1

Hi, late follow up but I wanted to mention a few things for posterity:

  1. I think that AngularJS bootstraps before Angular, so AngularJS states are registered before Angular bootstraps, and before the decorator is registered. I'd try moving the decorator to AngularJS config block until all states are migrated to Angular.

  2. Once all states are in Angular, the config block in forRoot should be good. The config block is run before the root module states are registered:

https://github.com/ui-router/angular/blob/master/src/uiRouterConfig.ts#L7-L12

  1. The end result you want (security/auth) looks like something that would be much better suited for a Transition Hook, not a resolve.
router.transitionService.onBefore({ from: '**', to: '**' }, (trans: Transition) => {
  const toState = trans.to();
  const requiredRoles = toState.data.requiredRoles; // or whatever -- you can add metadata to states
  if (!profileService.authenticated) {
    return $q.reject('not-logged');
  }

  if (!profileService.hasRoles(roles)) {
     return $q.reject('insufficient-roles');
  }
});

from angular-hybrid.

stale avatar stale commented on April 27, 2024

This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs.
This does not mean that the issue is invalid. Valid issues
may be reopened.
Thank you for your contributions.

from angular-hybrid.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.