Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit486baf8

Browse files
committed
Merge branch '2.7'
2 parents8099ac1 +70e2288 commit486baf8

22 files changed

+355
-119
lines changed

‎best_practices/i18n.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ English in the application would be:
8383
<!-- app/Resources/translations/messages.en.xliff-->
8484
<?xml version="1.0"?>
8585
<xliffversion="1.2"xmlns="urn:oasis:names:tc:xliff:document:1.2">
86-
<filesource-language="en"target-language="en"datatype="plaintext">
86+
<filesource-language="en"target-language="en"datatype="plaintext"original="file.ext">
8787
<body>
8888
<trans-unitid="1">
8989
<source>title.post_list</source>

‎book/security.rst

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ Next, create the controller that will display the login form::
438438

439439
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
440440
use Symfony\Component\HttpFoundation\Request;
441-
use Symfony\Component\Security\Core\SecurityContextInterface;
441+
use Symfony\Component\Security\Core\Security;
442442

443443
class SecurityController extends Controller
444444
{
@@ -447,19 +447,19 @@ Next, create the controller that will display the login form::
447447
$session = $request->getSession();
448448

449449
// get the login error if there is one
450-
if ($request->attributes->has(SecurityContextInterface::AUTHENTICATION_ERROR)) {
450+
if ($request->attributes->has(Security::AUTHENTICATION_ERROR)) {
451451
$error = $request->attributes->get(
452-
SecurityContextInterface::AUTHENTICATION_ERROR
452+
Security::AUTHENTICATION_ERROR
453453
);
454-
} elseif (null !== $session && $session->has(SecurityContextInterface::AUTHENTICATION_ERROR)) {
455-
$error = $session->get(SecurityContextInterface::AUTHENTICATION_ERROR);
456-
$session->remove(SecurityContextInterface::AUTHENTICATION_ERROR);
454+
} elseif (null !== $session && $session->has(Security::AUTHENTICATION_ERROR)) {
455+
$error = $session->get(Security::AUTHENTICATION_ERROR);
456+
$session->remove(Security::AUTHENTICATION_ERROR);
457457
} else {
458458
$error = '';
459459
}
460460

461461
// last username entered by the user
462-
$lastUsername = (null === $session) ? '' : $session->get(SecurityContextInterface::LAST_USERNAME);
462+
$lastUsername = (null === $session) ? '' : $session->get(Security::LAST_USERNAME);
463463

464464
return $this->render(
465465
'AcmeSecurityBundle:Security:login.html.twig',
@@ -713,7 +713,7 @@ see :doc:`/cookbook/security/form_login`.
713713
``/login_check`` doesn't match any firewall, you'll receive a ``Unable
714714
to find the controller for path "/login_check"`` exception.
715715

716-
**4. Multiple firewalls don't share security context**
716+
**4. Multiple firewalls don't sharethe samesecurity context**
717717

718718
If you're using multiple firewalls and you authenticate against one firewall,
719719
you will *not* be authenticated against any other firewalls automatically.
@@ -1174,7 +1174,7 @@ authorization from inside a controller::
11741174

11751175
public function helloAction($name)
11761176
{
1177-
if (false === $this->get('security.context')->isGranted('ROLE_ADMIN')) {
1177+
if (false === $this->get('security.authorization_checker')->isGranted('ROLE_ADMIN')) {
11781178
throw $this->createAccessDeniedException('Unable to access this page!');
11791179
}
11801180

@@ -1186,6 +1186,10 @@ authorization from inside a controller::
11861186
..versionadded::2.5
11871187
The ``createAccessDeniedException`` method was introduced in Symfony 2.5.
11881188

1189+
..versionadded::2.6
1190+
The ``security.authorization_checker`` service was introduced in Symfony 2.6. Prior
1191+
to Symfony 2.6, you had to use the ``isGranted()`` method of the ``security.context`` service.
1192+
11891193
The:method:`Symfony\\Bundle\\FrameworkBundle\\Controller\\Controller::createAccessDeniedException`
11901194
method creates a special:class:`Symfony\\Component\\Security\\Core\\Exception\\AccessDeniedException`
11911195
object, which ultimately triggers a 403 HTTP response inside Symfony.
@@ -1618,14 +1622,18 @@ Retrieving the User Object
16181622
~~~~~~~~~~~~~~~~~~~~~~~~~~
16191623

16201624
After authentication, the ``User`` object of the current user can be accessed
1621-
via the ``security.context`` service. From inside a controller, this will
1625+
via the ``security.token_storage`` service. From inside a controller, this will
16221626
look like::
16231627

16241628
public function indexAction()
16251629
{
1626-
$user = $this->get('security.context')->getToken()->getUser();
1630+
$user = $this->get('security.token_storage')->getToken()->getUser();
16271631
}
16281632

1633+
..versionadded::2.6
1634+
The ``security.token_storage`` service was introduced in Symfony 2.6. Prior
1635+
to Symfony 2.6, you had to use the ``getToken()`` method of the ``security.context`` service.
1636+
16291637
In a controller this can be shortcut to:
16301638

16311639
..code-block::php
@@ -1895,13 +1903,17 @@ authorization from inside a controller::
18951903

18961904
public function helloAction($name)
18971905
{
1898-
if (false === $this->get('security.context')->isGranted('ROLE_ADMIN')) {
1906+
if (false === $this->get('security.authorization_checker')->isGranted('ROLE_ADMIN')) {
18991907
throw new AccessDeniedException();
19001908
}
19011909

19021910
// ...
19031911
}
19041912

1913+
..versionadded::2.6
1914+
The ``security.authorization_checker`` service was introduced in Symfony 2.6. Prior
1915+
to Symfony 2.6, you had to use the ``isGranted()`` method of the ``security.context`` service.
1916+
19051917
..caution::
19061918

19071919
A firewall must be active or an exception will be thrown when the ``isGranted()``
@@ -1925,7 +1937,7 @@ accepts an :class:`Symfony\\Component\\ExpressionLanguage\\Expression` object::
19251937

19261938
public function indexAction()
19271939
{
1928-
if (!$this->get('security.context')->isGranted(new Expression(
1940+
if (!$this->get('security.authorization_checker')->isGranted(new Expression(
19291941
'"ROLE_ADMIN" in roles or (user and user.isSuperAdmin())'
19301942
))) {
19311943
throw new AccessDeniedException();
@@ -1934,6 +1946,10 @@ accepts an :class:`Symfony\\Component\\ExpressionLanguage\\Expression` object::
19341946
// ...
19351947
}
19361948

1949+
..versionadded::2.6
1950+
The ``security.authorization_checker`` service was introduced in Symfony 2.6. Prior
1951+
to Symfony 2.6, you had to use the ``isGranted()`` method of the ``security.context`` service.
1952+
19371953
In this example, if the current user has ``ROLE_ADMIN`` or if the current
19381954
user object's ``isSuperAdmin()`` method returns ``true``, then access will
19391955
be granted (note: your User object may not have an ``isSuperAdmin`` method,
@@ -1979,10 +1995,10 @@ Additionally, you have access to a number of functions inside the expression:
19791995
use Symfony\Component\ExpressionLanguage\Expression;
19801996
// ...
19811997

1982-
$sc = $this->get('security.context');
1983-
$access1 = $sc->isGranted('IS_AUTHENTICATED_REMEMBERED');
1998+
$authorizationChecker = $this->get('security.authorization_checker');
1999+
$access1 = $authorizationChecker->isGranted('IS_AUTHENTICATED_REMEMBERED');
19842000

1985-
$access2 = $sc->isGranted(new Expression(
2001+
$access2 = $authorizationChecker->isGranted(new Expression(
19862002
'is_remember_me() or is_fully_authenticated()'
19872003
));
19882004

‎book/templating.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1168,6 +1168,12 @@ automatically:
11681168
<p>Application Environment: <?php echo $app->getEnvironment() ?></p>
11691169
<?php endif ?>
11701170

1171+
..versionadded::2.6
1172+
The global ``app.security`` variable (or the ``$app->getSecurity()``
1173+
method in PHP templates) is deprecated as of Symfony 2.6. Use `app.user`
1174+
(`$app->getUser()`) and `is_granted()` (`$view['security']->isGranted()`)
1175+
instead.
1176+
11711177
..tip::
11721178

11731179
You can add your own global template variables. See the cookbook example

‎book/translation.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,15 @@ checks translation resources for several different locales:
400400
3. If the translation still isn't found, Symfony uses the ``fallback`` configuration
401401
parameter, which defaults to ``en`` (see `Configuration`_).
402402

403+
..versionadded::2.6
404+
The ability to log missing translations was introduced in Symfony 2.6.
405+
406+
..note::
407+
408+
When Symfony doesn't find a translation in the given locale, it will
409+
add the missing translation to the log file. For details,
410+
see:ref:`reference-framework-translator-logging`.
411+
403412
.. _book-translation-user-locale:
404413

405414
Handling the User's Locale

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp