我尝试在SILEX中进行公式检查登录。
$app['security.firewalls'] = array(
'login' => array(
'pattern' => '^/login$',
'anonymous' => true
),
'register' => array(
'pattern'=>'^/register$',
'anonymous' => true
),
'chat' => array(
'pattern'=>'^/chat$',
'anonymous'=>false,
//login_path: before authorisation Check_path: path to check the date of the user
'form'=>array('login_path'=>'/login','check_path' => '/chat/login_check'),
'users'=> $app->share(function() use ($app){
return new \resources\controller\UserProvider($app['db']);
})
)
);
我不明白的是那个:
form'=>array('login_path'=>'/login','check_path' => '/login_check'),
/ login是您尝试访问安全区域时将路由到的路由。 / login_check应该是检查数据的路径,在那里检查你的数据....这是对的吗?
我的问题是:/ login_check背后应该是什么?我希望你可以在谷歌的数小时后帮助我...
感谢你的帮助
答案 0 :(得分:0)
是的,你是对的。 /login
是用户将路由到授权的路径。 /login_check
是检查授权表单帖子(用户名和密码)的路径。
/login
需要实现,只需为此路径添加路由并显示授权表单。
<form method="post" action="/chat/login_check">
<input type="text" id="_username" name="_username" />
<input type="text" id="_password" name="_password" />
....
</form>
/login_check
不需要实现,它被添加并实现为隐含的安全组件。此路径应位于安全区域中,因此将其更改为/chat/login_check
。
同时将模式更改为'pattern'=>'^/chat'
,以捕获以/ chat