美文网首页全栈Web开发者
Symfony -- Security 学习笔记

Symfony -- Security 学习笔记

作者: 0d601f651140 | 来源:发表于2016-06-13 15:48 被阅读341次
  • 初始化 security.yml 文件
# app/config/security.yml
security:
    providers:
        in_memory:
            memory: ~

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

        default:
            anonymous: ~ 

新建symofny项目的时候,上面的配置文件已经配置好了,上面的配置文件是配置用户如何被授权的,比如是用login form 或者 HTTP 或者 API token等等

  • HTTP 认证授权方式
security:
    providers:
        in_memory:
            memory: ~

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

        default:
            anonymous: ~
            http_basic: ~

    access_control:
        - { path: ^/login, roles: ROLE_USER }

报错1:

InvalidConfigurationException in ArrayNode.php line 317:
Unrecognized option "0" under "security.firewalls.access_control"

解决:

对于.yml 文件空格也是起作用的, access_control中空格位置应该和 firewalls一样的

报错2:

[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]
The service "profiler" has a dependency on a non-existent service "debug.security.access.decision_manager".

解决:

如果env=prod就会报这个错误,在app.php, 或者 app_dev.php 禁用一个就可以了
app.php 中 $kernel = new AppKernel('dev', false); false 改为 true 就好了
参考: https://github.com/symfony/symfony/issues/19022

<?php

namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

class RwpsController extends Controller
{
    /**
     * @Route("/login")
     */
    public function indexAction(Request $request)
    {

        //return $this->render('rwps/index.html.twig');
        return new Response('<html><body>Admin page!</body></html>');

    }
}

实现HTTP 认证了
login.jpg
  • 除了HTTP 认证方式以外,还有database 的认证方式,等等! 后面持续更新!

相关文章

网友评论

  • 8994f4b2cd3f:你这个笔记记得太浅
    8994f4b2cd3f:@Nick_Cai 加油!
    0d601f651140:@大卫高博飞 :努力中,才入行不到一年,在学校里学的太菜了,努力写有一些有水平的东西
  • brandonxiang:森哥,你准备很久了吧,这些笔记

本文标题:Symfony -- Security 学习笔记

本文链接:https://www.haomeiwen.com/subject/qqpydttx.html