如何自定义表单登录吗 编辑该页面 警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 2.1,不再维护。 读这个页面的更新版本Symfob娱乐下载ony 6.3(当前的稳定版本)。 表单登录身份验证是一种常见的、灵活的、在Symfony2处理身份验证方法。ob娱乐下载几乎每一个方面的形式登录可以定制。完整的,默认配置下一节所示。 安全配置参考。一些更有趣的选项如下所示。 http://www.example.com/admin/post/18/edit,之后她成功登录时,最终会被送回http://www.example.com/admin/post/18/edit。这是通过将请求的URL存储在会话中。如果没有出现在URL会话(也许是用户直接登录页面),然后用户重定向到缺省页面,这是/在默认情况下(即主页)。在很多方面你可以改变这一行为。 请注意 正如前面提到的,默认情况下,将用户重定向回他最初请求的页面。有时,这可能会导致一些问题,比如一个背景的AJAX请求“出现”上次访问URL,导致用户被重定向。控制这种行为的信息,请参阅如何更改默认目标路径的行为。 default_security_target路线使用以下配置: YAML XML PHP 1 2 3 4 5 6 7 # app / config / security.yml安全:防火墙:主要:form_login:#……default_target_path:default_security_target 1 2 3 4 5 6 7 8 < !——app / config /安全。xml - - ><配置><防火墙><登录default_target_path=“default_security_target”/ >< /防火墙>< /配置> 1 2 3 4 5 6 7 8 9 10 11 12 13 / / app / config / security.php美元容器- >loadFromExtension (“安全”,数组(“防火墙”= >数组(“主要”= >数组(/ /……“form_login”= >数组(/ /……“default_target_path”= >“default_security_target”))))); 现在,当没有会话中设置URL,用户将被发送到default_security_target路线。 always_use_default_target_path选择正确的: YAML XML PHP 1 2 3 4 5 6 7 # app / config / security.yml安全:防火墙:主要:form_login:#……always_use_default_target_path:真正的 1 2 3 4 5 6 7 8 < !——app / config /安全。xml - - ><配置><防火墙><登录always_use_default_target_path=“真正的”/ >< /防火墙>< /配置> 1 2 3 4 5 6 7 8 9 10 11 12 13 / / app / config / security.php美元容器- >loadFromExtension (“安全”,数组(“防火墙”= >数组(“主要”= >数组(/ /……“form_login”= >数组(/ /……“always_use_default_target_path”= >真正的))))); HTTP_REFERER相反,因为这往往会是相同的。你可以通过设置use_referer为真(默认值为false): YAML XML PHP 1 2 3 4 5 6 7 # app / config / security.yml安全:防火墙:主要:form_login:#……use_referer:真正的 1 2 3 4 5 6 7 8 < !——app / config /安全。xml - - ><配置><防火墙><登录use_referer=“真正的”/ >< /防火墙>< /配置> 1 2 3 4 5 6 7 8 9 10 11 12 13 / / app / config / security.php美元容器- >loadFromExtension (“安全”,数组(“防火墙”= >数组(“主要”= >数组(/ /……“form_login”= >数组(/ /……“use_referer”= >真正的))))); 2.1 2.1,如果推荐人等于login_path选项,用户将被重定向到default_target_path。 _target_path。例如,对一些定义的URL重定向账户路线,使用以下: 嫩枝 PHP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 {# src / Acme / SecurityBundle /资源/视图/安全/ login.html。树枝#}{%如果错误%}<div>{{错误。消息}}< /div>{%endif%}<形式行动=”{{路径(login_check)}}”方法=“职位”><标签为=“用户名”>用户名:< /标签><输入类型=“文本”id=“用户名”的名字=“_username”价值=”{{last_username}}”/ ><标签为=“密码”>密码:< /标签><输入类型=“密码”id=“密码”的名字=“_password”/ ><输入类型=“隐藏”的名字=“_target_path”价值=“账户”/ ><输入类型=“提交”的名字=“登录”/ >< /形式> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 < !——src / Acme / SecurityBundle /资源/视图/安全/ login.html。php - - >< ? php如果(美元错误):? ><div>< ? php回声美元错误- >getMessage ()? >< /div>< ? phpendif;? ><形式行动=“< ?php echo $视图(“路由器”)- >生成(login_check) ? > "方法=“职位”><标签为=“用户名”>用户名:< /标签><输入类型=“文本”id=“用户名”的名字=“_username”价值=“< ?php echo $ last_username ? > "/ ><标签为=“密码”>密码:< /标签><输入类型=“密码”id=“密码”的名字=“_password”/ ><输入类型=“隐藏”的名字=“_target_path”价值=“账户”/ ><输入类型=“提交”的名字=“登录”/ >< /形式> 现在,用户将被重定向到隐藏表单字段的值。value属性可以是相对路径,绝对URL或路线的名字。你甚至可以改变隐藏表单字段的名称通过改变吗target_path_parameter选择另一个值。 YAML XML PHP 1 2 3 4 5 6 # app / config / security.yml安全:防火墙:主要:form_login:target_path_parameter:redirect_url 1 2 3 4 5 6 7 8 < !——app / config /安全。xml - - ><配置><防火墙><登录target_path_parameter=“redirect_url”/ >< /防火墙>< /配置> 1 2 3 4 5 6 7 8 9 10 / / app / config / security.php美元容器- >loadFromExtension (“安全”,数组(“防火墙”= >数组(“主要”= >数组(“form_login”= >数组(“target_path_parameter”= > redirect_url))))); login_failure)使用以下配置: YAML XML PHP 1 2 3 4 5 6 7 # app / config / security.yml安全:防火墙:主要:form_login:#……failure_path:login_failure 1 2 3 4 5 6 7 8 < !——app / config /安全。xml - - ><配置><防火墙><登录failure_path=“login_failure”/ >< /防火墙>< /配置> 1 2 3 4 5 6 7 8 9 10 11 12 13 / / app / config / security.php美元容器- >loadFromExtension (“安全”,数组(“防火墙”= >数组(“主要”= >数组(/ /……“form_login”= >数组(/ /……“failure_path”= >“login_failure”))))); 这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。