2015-02-08 60 views
1

编辑:我已经设置登录表单与symfony和授权工程就好了。但想深入了解一下symfony的安全捆绑是如何管理的。Symfony如何抓住check_path

我想研究/理解symfony安全处理认证的方式。如果我的理解以及迄今为止的URL作为行check_path触发认证中的Symfony在security.yml指定“/ login_path”:

然后来控制器/监听器/服务中获得的用户名和密码throught变量POST [” _username“]和POST [”_ password“]。

我想看看这是如何在Symfony中处理的。我应该在Symfony中的安全文件夹中查看哪些文件?

任何人都可以解释我关于它是如何工作的机制? 是否有一些侦听器会捕获该URL,然后将其传送给Symfony中的某个控制器。 (我只是想看看明白)

在此先感谢。

+0

为什么不安装symfony并通过IDE浏览它?在我看来,安全组件是最复杂的组件。在symfony中,几乎总是有一个非常抽象的底层系统实现以及它的一些具体实现。你必须选择你想要分析的图层。 – Aitch 2015-02-08 22:58:10

+0

我已经安装Symfony,并且确实需要通过它。但认为也许有人可以告诉我在Symfony中认证的工作方式...... if的一般方面。 (不是配置方面,我已经使用symfony实现了身份验证,它工作得很好) – 2015-02-08 23:19:10

+0

有一些身份验证侦听器试图提取任何类型的登录数据。默认是那个试图从请求对象中获取'_username'和'_password'的监听器,然后使用认证管理器来生成一个认证令牌。 http://symfony.com/doc/current/components/security/authentication.html – Aitch 2015-02-08 23:27:41

回答

0

有没有单一的文件,你可以看看。 Symfony中的安全性分为多个方面,如身份验证,授权,用户提供商等。

阅读手册,其中有很好的解释。但是,这确实很复杂。 http://symfony.com/doc/current/book/security.html

基本过程是这样的: - 防火墙规则决定是否允许访问,并且需要AUTH - 由配置听众 之一生成的令牌 - 身份验证提供验证令牌 - 用户被加载来自已配置的用户提供商

+0

感谢您的回答,但我实际上使用Symfony设置了auth我知道如何去做,而且工作得很好)。我的问题是更多关于它如何在后面工作...你可以让我知道**哪个文件知道check_path已被要求生成**(我猜这是一个监听器,但我不确定) – 2015-02-08 23:26:02