Commit Graph

98 Commits

Author SHA1 Message Date
Fabien Potencier
20a717ea3c [WebProfileBundle] added the controller callable name in the WDT (also tweaked the CSS to free some space) 2011-03-18 14:57:41 +01:00
Fabien Potencier
3627eee3c6 Merge remote branch 'vicb/cfg_rebase'
* vicb/cfg_rebase:
  [Config] Ability to add and override node types without having to subclass NodeBuilder
  [DoctrineBundle] Fix some typos
  [SwiftMailerBundle] Fix a merge issue in the configuration
  Tweak PHPDocs in the extension configuration files
  [Config] Component refactoring
2011-03-18 11:41:43 +01:00
Fabien Potencier
6c8e71c8e7 renamed filterCore* to onCore*
The onCore* events are fired at some pre-defined points during the
handling of a request. At this is more important than the fact
that you can change things from the event.
2011-03-17 17:01:59 +01:00
Victor Berchet
0e84757d94 Tweak PHPDocs in the extension configuration files 2011-03-17 16:29:03 +01:00
Victor Berchet
1e0ed22c55 [Config] Component refactoring
The Config component API have changed and the extension configuration files must be updated accordingly:

1. Array nodes must enclosed their children definition in ->children() ... ->end() calls:

Before:

    $treeBuilder->root('zend', 'array')
        ->arrayNode('logger')
            ->scalarNode('priority')->defaultValue('INFO')->end()
            ->booleanNode('log_errors')->defaultFalse()->end()
        ->end();

After:

    $treeBuilder->root('zend', 'array')
        ->children()
            ->arrayNode('logger')
                ->children()
                    ->scalarNode('priority')->defaultValue('INFO')->end()
                    ->booleanNode('log_errors')->defaultFalse()->end()
                ->end()
            ->end()
        ->end();

2. The 'builder' method (in NodeBuilder) has been dropped in favor of an 'append' method (in ArrayNodeDefinition)

Before:

    $treeBuilder->root('doctrine', 'array')
        ->arrayNode('dbal')
            ->builder($this->getDbalConnectionsNode())
        ->end();

After:

    $treeBuilder->root('doctrine', 'array')
        ->children()
            ->arrayNode('dbal')
                ->append($this->getDbalConnectionsNode())
            ->end()
        ->end();

3. The root of a TreeBuilder is now an NodeDefinition (and most probably an ArrayNodeDefinition):

Before:

    $root = $treeBuilder->root('doctrine', 'array');
    $this->addDbalSection($root);

    public function addDbalSection(NodeBuilder $node)
    {
        ...
    }

After:

    $root = $treeBuilder->root('doctrine', 'array');
    $this->addDbalSection($root);

    public function addDbalSection(ArrayNodeDefinition $node)
    {
        ...
    }

4. The NodeBuilder API has changed (this is seldom used):

Before:

    $node = new NodeBuilder('connections', 'array');

After:

The recommended way is to use a tree builder:

    $treeBuilder = new TreeBuilder();
    $node = $treeBuilder->root('connections', 'array');

An other way would be:

    $builder = new NodeBuilder();
    $node = $builder->node('connections', 'array');

Some notes:

- Tree root nodes should most always be array nodes, so this as been made the default:

    $treeBuilder->root('doctrine', 'array') is equivalent to $treeBuilder->root('doctrine')

- There could be more than one ->children() ... ->end() sections. This could help with the readability:

    $treeBuilder->root('doctrine')
        ->children()
            ->scalarNode('default_connection')->end()
        ->end()
        ->fixXmlConfig('type')
        ->children()
            ->arrayNode('types')
                ....
            ->end()
        ->end()
2011-03-17 16:26:15 +01:00
Bernhard Schussek
5f14d8d6aa Merge remote branch 'symfony/master' into event-manager
Conflicts:
	src/Symfony/Bundle/AsseticBundle/CacheWarmer/AssetWriterCacheWarmer.php
	src/Symfony/Bundle/AsseticBundle/Tests/CacheWarmer/AssetWriterCacheWarmerTest.php
	src/Symfony/Bundle/FrameworkBundle/Profiler/ProfilerListener.php
	src/Symfony/Bundle/FrameworkBundle/Resources/config/profiling.xml
	src/Symfony/Component/HttpKernel/HttpKernel.php
	src/Symfony/Component/Security/Http/Firewall/AbstractAuthenticationListener.php
	src/Symfony/Component/Security/Http/Firewall/AbstractPreAuthenticatedListener.php
2011-03-17 12:34:12 +01:00
Fabien Potencier
429d927e8c Merge remote branch 'hason/extensions' 2011-03-16 13:37:06 +01:00
Fabien Potencier
05ab74e7b9 [SecurityBundle] simplified things 2011-03-16 12:58:52 +01:00
Martin Hason
aae492f79b removed unused use statements in DIC extensions 2011-03-16 11:29:41 +01:00
Martin Hason
3bdacafb1b [SecurityBundle] simplified resource location 2011-03-16 10:32:37 +01:00
Fabien Potencier
2cf0601f18 [SecurityBundle] made the anonymous key parameter configurable and random by default 2011-03-16 09:31:28 +01:00
Fabien Potencier
2610e1b699 [SecurityBundle] made user and credentials configuration for X509 authentication 2011-03-16 09:30:48 +01:00
Fabien Potencier
b638cf07a5 [SecurityBundle] made realm configurable for HTTP basic and digest authentication 2011-03-16 09:29:44 +01:00
Fabien Potencier
db27b4d288 [SecurityBundle] made a small tweak to the WDT panel 2011-03-15 22:52:09 +01:00
Fabien Potencier
11f42a82dc [SecurityBundle] added a note about why a user can be logged in but not authenticated 2011-03-15 22:02:26 +01:00
Fabien Potencier
39504fc98d [SecurityBundle] made some tweaks to the security profiler panel 2011-03-15 21:50:56 +01:00
Fabien Potencier
44c95f97a4 [SecurityBundle] fixed profiler template when the user is logged in but has no roles 2011-03-15 21:48:49 +01:00
Fabien Potencier
345e2d39b5 [SecurityBundle] tweaked WDT security tab 2011-03-15 21:02:36 +01:00
Fabien Potencier
d7663e7046 [SecurityBundle] fixed the anonymous listener which was always registered 2011-03-15 20:44:46 +01:00
Fabien Potencier
50e463977b Merge remote branch 'vicb/profiler_again' 2011-03-15 13:37:52 +01:00
hhamon
201cb65ecd [SecurityBundle] fixed typo in security_rememberme.xml services definition 2011-03-14 19:46:11 +01:00
Johannes M. Schmitt
032fa2bde8 [Security] fixed default entity provider 2011-03-14 17:31:29 +01:00
Victor Berchet
8128300baa [WebProfilerBundle] Revert the support for a status in data collectors 2011-03-14 17:24:11 +01:00
Bernhard Schussek
06c682b4fb Switched from Doctrine's EventManager implementation to the EventManager clone in Symfony2 (now called EventDispatcher again) 2011-03-13 19:49:10 +01:00
Bernhard Schussek
25931caeab Merge remote branch 'symfony/master' into event-manager
Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Debug/TraceableEventManager.php
	src/Symfony/Bundle/WebProfilerBundle/WebDebugToolbarListener.php
	src/Symfony/Component/Security/Http/Firewall.php
	src/Symfony/Component/Security/Http/Firewall/AbstractAuthenticationListener.php
	src/Symfony/Component/Security/Http/Firewall/AbstractPreAuthenticatedListener.php
	src/Symfony/Component/Security/Http/Firewall/AccessListener.php
	src/Symfony/Component/Security/Http/Firewall/AnonymousAuthenticationListener.php
	src/Symfony/Component/Security/Http/Firewall/BasicAuthenticationListener.php
	src/Symfony/Component/Security/Http/Firewall/ChannelListener.php
	src/Symfony/Component/Security/Http/Firewall/ContextListener.php
	src/Symfony/Component/Security/Http/Firewall/DigestAuthenticationListener.php
	src/Symfony/Component/Security/Http/Firewall/ExceptionListener.php
	src/Symfony/Component/Security/Http/Firewall/ListenerInterface.php
	src/Symfony/Component/Security/Http/Firewall/LogoutListener.php
	src/Symfony/Component/Security/Http/Firewall/RememberMeListener.php
	src/Symfony/Component/Security/Http/Firewall/SwitchUserListener.php
	tests/Symfony/Tests/Component/Security/Http/Firewall/RememberMeListenerTest.php
2011-03-13 19:15:25 +01:00
Victor Berchet
5b39894efc [WebProfilerBundle] Add shortcuts to the panels in the toolbar 2011-03-13 15:50:44 +01:00
Victor Berchet
f752dd34a0 [Profiler] Profilers now return a status which is used for visual feedback 2011-03-13 15:50:44 +01:00
Victor Berchet
481bb4cdf9 [WebProfilerBundle] Introduce a template for toolbar items 2011-03-13 15:50:44 +01:00
Kris Wallsmith
1314d6fda7 fixed listener definition 2011-03-12 13:24:57 +01:00
Johannes Schmitt
97125269d2 [Security] fixed some tests 2011-03-11 12:50:52 +01:00
Johannes Schmitt
c73d1c3406 [SecurityBundle] removed the option to declare access_control rules based on request attributes 2011-03-11 01:47:23 +01:00
Johannes Schmitt
d8022e34eb [Security] removed core.security event 2011-03-11 01:43:22 +01:00
Johannes M. Schmitt
3d97638813 [Security] refactored remember-me code 2011-03-11 01:19:55 +01:00
Johannes M. Schmitt
76e33022cf [Security] renamed Twig function has_role to is_granted 2011-03-10 12:21:35 +01:00
Johannes M. Schmitt
3e5fe74cfb Merge branch 'master' of git://github.com/petajaros/symfony into visibilityChanges 2011-03-10 10:25:48 +01:00
Johannes M. Schmitt
13665fc113 [Security] added some more tests 2011-03-10 10:25:33 +01:00
Johannes Schmitt
1d5538fc60 [Security] various changes, see below
- visibility changes from protected to private
- AccountInterface -> UserInterface
- SecurityContext::vote() -> SecurityContext::isGranted()
2011-03-10 10:25:32 +01:00
Petr Jaroš
82a44ec9d4 [Security] Bugfix - Ensure that passwords is of string type. Function BasePasswordEncoder::comparePasswords haven't been working properly for numeric (plaintype) passwords. 2011-03-09 15:54:06 -08:00
Bernhard Schussek
a54d3e6fb0 Merge remote branch 'symfony/master' into event-manager 2011-03-07 19:15:57 +01:00
Francis Besset
a7e1058898 [WebProfilerBundle] Added security icon for the Web Profiler menu 2011-03-06 23:28:45 +01:00
Francis Besset
f3eca3dab7 [SecurityBundle] Resize security icon for the web debug toolbar 2011-03-06 16:17:54 +01:00
Francis Besset
354996e344 [SecurityBundle] Fixed typo 2011-03-06 15:46:21 +01:00
Francis Besset
4c0f7f26e4 [WebProfiler] Fixed integration of web debug toolbar 2011-03-06 15:30:02 +01:00
Fabien Potencier
8c423edfef replaced symfony-project.org by symfony.com 2011-03-06 12:40:06 +01:00
alexandresalome
659bfc5615 Remove png_fix class 2011-03-06 11:44:58 +01:00
hhamon
ce7fddd4ea [SecurityBundle] updated profiler panel for the latest profiler theme 2011-03-06 11:44:57 +01:00
hhamon
1134fd17ab [SecurityBundle] fixed authentication panel for the new web debug toolbar layout 2011-03-06 11:44:56 +01:00
Bernhard Schussek
f1393d7b1f Replaced EventDispatcher by Doctrine's EventManager implementation
Doctrine's EventManager implementation has several advantages over the
EventDispatcher implementation of Symfony2. Therefore I suggest that we
use their implementation.

Advantages:

 * Event Listeners are objects, not callbacks. These objects have handler
   methods that have the same name as the event. This helps a lot when
   reading the code and makes the code for adding an event listener shorter.
 * You can create Event Subscribers, which are event listeners with an
   additional getSubscribedEvents() method. The benefit here is that the
   code that registers the subscriber doesn't need to know about its
   implementation.
 * All events are defined in static Events classes, so users of IDEs benefit
   of code completion
 * The communication between the dispatching class of an event and all
   listeners is done through a subclass of EventArgs. This subclass can be
   tailored to the type of event. A constructor, setters and getters can be
   implemented that verify the validity of the data set into the object.
   See examples below.
 * Because each event type corresponds to an EventArgs implementation,
   developers of event listeners can look up the available EventArgs methods
   and benefit of code completion.
 * EventArgs::stopPropagation() is more flexible and (IMO) clearer to use
   than notifyUntil(). Also, it is a concept that is also used in other
   event implementations

Before:

    class EventListener
    {
        public function handle(EventInterface $event, $data) { ... }
    }

    $dispatcher->connect('core.request', array($listener, 'handle'));
    $dispatcher->notify('core.request', new Event(...));

After (with listeners):

    final class Events
    {
        const onCoreRequest = 'onCoreRequest';
    }

    class EventListener
    {
        public function onCoreRequest(RequestEventArgs $eventArgs) { ... }
    }

    $evm->addEventListener(Events::onCoreRequest, $listener);
    $evm->dispatchEvent(Events::onCoreRequest, new RequestEventArgs(...));

After (with subscribers):

    class EventSubscriber
    {
        public function onCoreRequest(RequestEventArgs $eventArgs) { ... }

        public function getSubscribedEvents()
        {
            return Events::onCoreRequest;
        }
    }

    $evm->addEventSubscriber($subscriber);
    $evm->dispatchEvent(Events::onCoreRequest, new RequestEventArgs(...));
2011-03-05 15:30:34 +01:00
Johannes Schmitt
f82b89cdc5 [Security] changed defaults for MessageDigestEncoder
- encode_as_base64 set to true
- iterations increased to 5000 from 1
2011-03-05 13:45:35 +01:00
Pascal Borreli
added08c92 [SecurityBundle] Fixed typo 2011-02-26 20:02:05 +01:00