kekrozsak/vendor/jms/security-extra-bundle/JMS/SecurityExtraBundle/CHANGELOG-1.1.md

1.9 KiB

This document details all changes from JMSSecurityExtraBundle 1.0.x to 1.1:

  • The configuration option "secure_controllers" has been removed. This setting is now automatically enabled, but it requires the JMSDiExtraBundle.

  • The dependencies of this bundle have changed:

    • The metadata library 1.1 version is now required instead of the 1.0 version (if you are using the Standard Edition, just change the "version=origin/1.0.x" line from your deps file to "version=1.1.0").
    • The JMSAopBundle is now required. For installation instructions, please see https://github.com/schmittjoh/JMSAopBundle
    • The JMSDiExtraBundle is now required if you want to secure your non-service controllers (if you only have service controllers, you don't need it). For installation instructions, see https://github.com/schmittjoh/JMSDiExtraBundle
  • The attribute "IS_IDDQD" has been renamed to "ROLE_IDDQD"

  • A powerful expression-based authorization language has been added which works in combination with the existing voting system. Since it is much more powerful than the built-in voters, and also much faster, you are highly encouraged to migrate your existing authorization rules to expressions, and eventually disable the built-in voters entirely. Some examples for how to convert simple attributes to their equivalent expressions are listed below:

    • IS_AUTHENTICATED_ANONYMOUSLY -> "permitAll"
    • IS_AUTHENTICATED_REMEMBERED -> "isAuthenticated()"
    • IS_AUTHENTICATED_FULLY -> "isFullyAuthenticated()"
    • ROLE_FOO -> "hasRole('ROLE_FOO')"
  • The ability to configure method access control (e.g. for controller actions) in the DI configuration has been added. Note that for non-service controllers the JMSDiExtraBundle is required.

  • The "is_expr_granted" Twig function has been added if you want to check an expression from a Twig template.