我试图建立密码重置链接,我想知道我是否可以使用令牌的名称进行操作。因此,我将访问此站点/auth/resetpassword/token这样的链接。
我无法在互联网上找到任何记录。
我正在生成我的令牌:
$lengthSalt = 24;
$token = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyz"), 0, $lengthSalt);
答案 0 :(得分:1)
您需要定义正确的路线
Zend 1.10的示例:http://framework.zend.com/manual/1.10/en/zend.controller.router.html
$router = $ctrl->getRouter(); // returns a rewrite router by default
$router->addRoute(
'resetpass',
new Zend_Controller_Router_Route('auth/resetpassword/:token',
array('controller' => 'auth',
'action' => 'resetpassword'))
);
这取决于您定义路线的方式,有多种方法可以做到。
编辑:如果您想使用默认路线,则需要使用此模式:www.yoursite.com/controller/action/var1/value1/var2/value2。
所以对你而言,它将是site.com/auth/resetpassword/token/[token],代替[token]你放置你的令牌值。
然后,您可以在控制器中访问您的变量:
$token = $this->getRequest()->getParam('token');