Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 找不到GET/admin=>;的路由;进入安全区域_Php_Symfony_Firewall - Fatal编程技术网

Php 找不到GET/admin=>;的路由;进入安全区域

Php 找不到GET/admin=>;的路由;进入安全区域,php,symfony,firewall,Php,Symfony,Firewall,我无法访问我的登录页面,我不知道为什么 security.xml: firewalls: dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false login: pattern: ^/admin/login$ security: false secured_area:

我无法访问我的登录页面,我不知道为什么

security.xml:

firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false

        login:
            pattern:  ^/admin/login$
            security: false

        secured_area:
            pattern:    ^/admin
            remember_me:
                key:      "%secret%"
                lifetime: 604800 # 7 jours en secondes
                path:     /login
                domain:   ~ # Prend la valeur par défaut du domaine courant depuis $_SERVER
            form_login:
                check_path: _login_check
                login_path: _admin_login
                default_target_path: /admin
                always_use_default_target_path: true
            logout:
                path:   _admin_logout
                target: /
            #anonymous: ~
            #http_basic:
            #    realm: "Secured Demo Area"

    access_control:
        - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
        - { path: ^/admin, roles: [ROLE_ADMIN] }
        - { path: ^/, roles: [ROLE_USER, ROLE_ADMIN] }
routing.yml:

_admin_login:
    resource: "@TestBackBundle/Controller/SecureController.php"
    type:     annotation
secureController.php:

...

    /**
     * @Route("/admin")
     */
    class SecureController extends Controller
    {
        /**
         * @Route("/login", name="_admin_login")
         * @Template()
         */
        public function loginAction(Request $request)
        {
            if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) {
                $error = $request->attributes->get(SecurityContext::AUTHENTICATION_ERROR);
            } else {
                $error = $request->getSession()->get(SecurityContext::AUTHENTICATION_ERROR);
            }

            return array(
                'last_username' => $request->getSession()->get(SecurityContext::LAST_USERNAME),
                'error'         => $error,
            );
        }

        /**
         * @Route("/login_check", name="_login_check")
         */
        public function securityCheckAction()
        {
            // The security layer will intercept this request
        }

        /**
         * @Route("/logout", name="_admin_logout")
         */
        public function logoutAction()
        {
            // The security layer will intercept this request
        }
    }
当我测试访问

我有一个错误:找不到“GET/admin”的路由

为什么我的登录页面上的路由不起作用?

我猜是这样的路由:

你必须把它称为“指数化”,当你只想通过

说明:

访问该类的所有路由都将转到/admin

如果您想在/admin上显示内容,您必须创建“indexAction”

然后是所有其他操作,例如loginAction将/login作为路由


因此,您可以访问类“/admin”和登录操作“/login”,使其/admin/login/

完全一致。此外,使用
php应用程序/控制台路由器:debug
显示SF2中的所有路由。