小编Adi*_*Adi的帖子

Symfony 2"您的会话已超时或您已禁用cookie"

导致这种情况的三件事之一,我不确定它中的哪一个.所以我会提到所有3,希望它能帮助别人节省时间.

最初我在parameters.yml中更改了数据库用户凭据这不起作用,因为有问题的用户无法从localhost登录.也就是说,我使用该网站来测试连接,这可能会扰乱cookie.

由于图像丢失,我有一些缓存文件夹权限问题.因此,我必须像往常一样清除缓存并调整一些权限.

最后,我更改了security.yml的路径

        form_login:
            login_path:  /login
            check_path:  /login_check
        logout:
            path:   /logout
Run Code Online (Sandbox Code Playgroud)

至:

        form_login:
            login_path:  /account/login
            check_path:  /account/login_check
        logout:
            path:   /account/logout
Run Code Online (Sandbox Code Playgroud)

随着routing.yml的适当更改

结果是我已登录的用户不再通过安全凭证,如果我尝试通过其他用户/浏览器登录,我总是面临:"您的会话已超时或您已禁用cookie"

花了很多小时跟着红鲱鱼,检查安全性,登录处理,redis等.

答案如下.

cookies session login symfony

6
推荐指数
1
解决办法
4594
查看次数

Symfony2异常响应.用200替换404状态代码

我在symfony2中有一个404处理程序,它是一个EventListener.

对于某些404,我进行重定向,效果很好.对于浏览器,不会抛出404.

new RedirectResponse( $newURL );
Run Code Online (Sandbox Code Playgroud)

该行基本上用200替换404状态代码.

但在其他情况下,我想返回一些内容,而不是404消息,而是一些替换数据.像这样的东西:

$response = new Response( $returnJSONMessage );
$response->headers->set( 'Content-Type', 'application/json' );
$response->setStatusCode(200);
Run Code Online (Sandbox Code Playgroud)

代码方面,这很好,但它不会阻止返回404.我猜是因为它在这个范围内:

$event->setResponse( $theResponse );
Run Code Online (Sandbox Code Playgroud)

其类型为GetResponseForExceptionEvent.

我需要调用什么来让它以200而不是404的形式返回我的数据.就像RedirectResponse似乎一样.我试过了:

$event->stopPropagation();
Run Code Online (Sandbox Code Playgroud)

但它有点事后.似乎$ event-> setResponse中的任何内容都不是RedirectResponse,在这种情况下标记为404.

有任何想法吗?

exception-handling response symfony

4
推荐指数
1
解决办法
4764
查看次数

Symfony2通过IP安全无法正常工作

在我的Symfony 2.3.1安全YML中,我有这一行.

security.yml

access_control:
    - { path: ^/mysecurearea, roles: IS_AUTHENTICATED_ANONYMOUSLY, ip: 0.0.0.0 }
Run Code Online (Sandbox Code Playgroud)

基于此:http: //symfony.com/doc/current/book/security.html

我的印象是这条路线和类似的路线,例如/ mysecurearea/something应该只能通过IP 0.0.0.0的请求访问

问题是,我仍然可以访问它.

有任何想法吗?

security yaml symfony

1
推荐指数
1
解决办法
3861
查看次数