Symfony FOSUserBundle用户登录验证
symfony是一个由组件构成的框架,登录验证的也是由一些组件构成,下面就介绍一下FOSUserBundle的使用。
以symfony 3.3为例,
首先我们需要先安装一下FOSUserBundle。
第一步:需要先下载FOSUserBundle
composer require friendsofsymfony/user-bundle "~2.0"
第二步:需要在内核之中注册它,
第3步:创建用户类
这个包的目标是将一些User
类保存到数据库(MySql,MongoDB,CouchDB等)。那么,你的第一份工作就是User
为你的应用程序创建一个类。这个类可以随意查看和操作:添加您认为有用的任何属性或方法。
该bundle提供了已经为大多数字段映射的基类,以便更容易地创建您的实体。
a)Doctrine ORM用户类
实体名称是可更改的,我的实体原本的名称是BlogsUser,为了方便使用Fosuserbundle下的实体所以进行了更改,也不更改根据个人喜好。
b)MongoDB用户类
c)CouchDB用户类
第四步:配置应用程序的security.yml
为了让Symfony的安全组件使用FOSUserBundle,必须告诉它在security.yml
文件中这样做。该security.yml
文件是包含应用程序基本安全配置的位置。
第五步:需要在config.yml配置FOSUserBundle
在config.yml空白区域配置fos_user告诉它用户类是orm类型的,防火墙的名称是main,用户的类是user。这样访问的时候才知道选择正确的路径。
第六步:在routing.yml 添加FOSUserBundle路由文件
到次配置FOSUserBundle用户登陆验证算是完成。当然为了方便我们可以配置新的模板覆盖原来的。新模板的配置方法如下:
在app/Resources/下创建FOSUserBundle/views/layout.html.twig默认文件。在layout.html.twig模板的同级目录创建
当然也可以直接从项目的vendor\friendsofsymfony\user-bundle\Resources\views下直接copy过去。
配置完成后可以直接在域名后输入login、register进行登录注册。
实体配置方法上篇博客中已经说过,这里就不再提了。希望能够帮到需要的人。
每天都想写博客,但却不知道写什么,有什么想要了解的,可以下评论区留言,我抽时间写下。