gpt4 book ai didi

西莱克斯 : The token storage contains no authentication token

转载 作者:行者123 更新时间:2023-12-04 13:59:47 27 4
gpt4 key购买 nike

尝试在布局中检查用户是否经过身份验证时

{% if is_granted('IS_AUTHENTICATED_FULLY') %}
<p>Username: {{ app.user.username }}</p>
{% endif %}

我收到一个错误
Twig_Error_Runtime in Template.php line 304:
An exception has been thrown during the rendering of a template ("The token storage contains no authentication token. One possible reason may be that there is no firewall configured for this URL.") in "layout.html" at line 39.

这是安全防火墙的配置。我只需要允许登录用户访问该网站。
$app->register(new SecurityServiceProvider(), array(
'security.firewalls' => array(
'dev' => array(
'pattern' => '^/(_(profiler|wdt)|css|images|js)/',
'security' => false
),
'login' => array(
'pattern' => '^/login$',
),
'secured' => array(
'pattern' => '^.*$',
'form' => array('login_path' => '/login', 'check_path' => '/login_check'),
'logout' => array('logout_path' => '/logout'),
'users' => $app->share(function() use ($app) {
// Specific class App\User\UserProvider is described below
return new App\User\UserProvider($app['db']);
}),
),
'unsecured' => array(
'anonymous' => true,
)
),
'security.access_rules' => array(
// You can rename ROLE_USER as you wish
array('^/.+$', 'ROLE_USER'),
array('^/login$', 'SS'), // This url is available as anonymous user
)
));

欢迎任何解决此问题的想法。

谢谢

最佳答案

由于错误消息说错误发生在 layout.html ,我猜它在每个页面上都使用,即使是像/login 这样不在防火墙后面的页面。该错误是由调用 is_granted 引起的当不在防火墙后面时。

所以有几个选择:

  • 为不调用 is_granted 的登录页面使用单独的布局
  • 在调用 is_granted 之前检查是否存在现有的安全 token

  • 选项 1 应该是显而易见的,因此不会详细说明。

    使用选项 2,您可以执行以下操作来检查现有安全 token :
    {% if app.security.token is not null and is_granted('IS_AUTHENTICATED_FULLY') %}

    关于西莱克斯 : The token storage contains no authentication token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27958923/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com