Class ViewAccessChecker

    • Field Detail

      • SESSION_STORED_REDIRECT

        public static final String SESSION_STORED_REDIRECT
      • SESSION_STORED_REDIRECT_ABSOLUTE

        public static final String SESSION_STORED_REDIRECT_ABSOLUTE
    • Constructor Detail

      • ViewAccessChecker

        public ViewAccessChecker()
        Creates an instance.

        Note that the access checker is enabled by default. If this isn't desired, one can use ViewAccessChecker(boolean) with enabled=false and call enable() later on whenever appropriate.

      • ViewAccessChecker

        public ViewAccessChecker​(boolean enabled)
        Creates an instance and enables access checker depending on the given flag.
        Parameters:
        enabled - false for disabling the access checker, true for enabling the access checker.
      • ViewAccessChecker

        protected ViewAccessChecker​(AccessAnnotationChecker accessAnnotationChecker)
        Creates an instance using the given checker.

        Note that the access checker is disabled by default and can be enabled using enable(). You should also set the login view to use using setLoginView(Class) or setLoginView(String)

        Parameters:
        accessAnnotationChecker - the checker to use
    • Method Detail

      • enable

        public void enable()
        Enables the access checker.

        This must be called for the access checker to perform any checks. By default the access checker is disabled.

      • setLoginView

        public void setLoginView​(Class<? extends Component> loginView)
        Sets the Flow login view to use.

        The login view can only be set once and cannot be changed afterwards.

        Note that the access checker needs to be separately enabled using enable()

        Parameters:
        loginView - the Flow view to use as login view
      • setLoginView

        public void setLoginView​(String loginUrl)
        Sets the frontend login view to use.

        The login view can only be set once and cannot be changed afterwards.

        Note that the access checker needs to be separately enabled using enable()

        Parameters:
        loginUrl - the frontend view to use as login view
      • beforeEnter

        public void beforeEnter​(BeforeEnterEvent beforeEnterEvent)
        Description copied from interface: BeforeEnterHandler
        Callback executed before navigation to attaching Component chain is made.
        Specified by:
        beforeEnter in interface BeforeEnterHandler
        Parameters:
        beforeEnterEvent - before navigation event with event details
      • getRolesChecker

        protected Function<String,​Boolean> getRolesChecker​(VaadinRequest request)
        Gets a function for checking roles for the currently logged in user.
        Parameters:
        request - the current request or null if no request is in progress (e.g. in a background thread)
        Returns:
        a function which takes a role name and returns true if the user is included in that role
      • getPrincipal

        protected Principal getPrincipal​(VaadinRequest request)
        Gets the principal for the currently logged in user.
        Parameters:
        request - the current request or null if no request is in progress (e.g. in a background thread)
        Returns:
        a representation of the currently logged in user or null if no user is currently logged in