在我的应用程序中,我实现了OAuth2-Server(oauth2-server-laravel)与自定义身份验证包(Sentinel by Cartalyst)的组合.
在我的routes.php中:
Route::group(['before' => 'oauth'], function()
{
// ... some routes here
}
Run Code Online (Sandbox Code Playgroud)
因此,请求必须提供授权标头,否则应用程序将退出OAuthException.
现在我想对我的控制器进行单元测试.因此,我必须为每个测试使用OAuth会话和访问令牌为我的数据库建立种子.然后覆盖call()-method TestCase并使用Bearer Token设置HTTP-Authorization Header.
有没有办法禁用或绕过中间件(在我的情况下仅用于单元测试)?
在Laravel 4中,它们被称为路由过滤器,无论如何它们在测试环境中被禁用.您也可以手动启用/禁用它们Route::enableFilters().
我正在研究新项目的用户管理组件.计划是:
但是自动登录存在一些问题.这是我使用的代码的一部分:
<?php
...
// set userstatus to "active" and delete meta information "activation_key"
// then automatically login
$this->User->id = $id;
$this->User->saveField('modified', date('Y-m-d H:i:s') );
$this->User->saveField('status', 1 );
// $this->User->deleteActivationKey ....
$this->Auth->login($this->User->read());
$this->Session->setFlash(__('Successfully activated account. You are now logged in.'));
$this->User->saveField('last_login', date('Y-m-d H:i:s') );
$this->redirect(array('controller' => 'pages'));
...
Run Code Online (Sandbox Code Playgroud)
这个工作到目前为止,直到您想要使用Auth组件的user()函数获取有关登录用户的信息.
我们在AppController-> beforeRender中使用它,以便在用户信息应用程序范围内:
$this->set('auth', $this->Auth->user());
Run Code Online (Sandbox Code Playgroud)
但在自动登录操作之后,我得到了未定义的索引通知.(例如,通过在视图中访问$ auth ['id']).print_r()仅显示当前用户的用户名和哈希密码.如果您手动登录,一切正常.它必须是帐户激活后自动登录的东西.
似乎是会话的问题?我究竟做错了什么?
我的[310] Too many redirects蛋糕应用在使用强制将其重定向到安全连接后,在heroku上遇到了错误SecurityComponent::requireSecure()。
public function beforeFilter() {
$this->Security->blackHoleCallback = '_blackholeCallback';
$this->Security->requireSecure('login', 'register');
}
// ...
public function _blackholeCallback($type) {
if ($type == 'secure') {
$this->redirect('https://' . env('SERVER_NAME') . $this->here);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在实现一个突出显示功能,突出显示当前悬停的div,我有这样的html结构:
<div> <!-- this is the parent -->
<div> content ... </div><!-- a child -->
<div> content ... </div><!-- another child-->
</div>
Run Code Online (Sandbox Code Playgroud)
它应该如何工作: - 如果我将鼠标悬停在父级上,则应突出显示父元素. - 如果我将鼠标悬停在子元素上,则父元素的突出显示应该淡出,并且它应该只突出显示子元素
我正在使用jquerys的mouseenter和mouseleaves事件,代码看起来像这样(实际上它有点不同,因为我正在使用gwt和本机javascript接口,但它的工作原理相同):
$(element).mouseenter(function(event)
{
showHighlightContainer();
});
$(element).mouseleave(function(event)
{
hideHighlightContainer();
});
Run Code Online (Sandbox Code Playgroud)
问题是:当我将鼠标悬停在父元素上时,元素突出显示,一切都很好.但当我将鼠标悬停在子元素上时,子元素会升级并突出显示父元素.
我使用了错误的鼠标事件吗?我怎么能解决这个问题?
cakephp ×2
autologin ×1
heroku ×1
javascript ×1
jquery ×1
laravel-5 ×1
mouseevent ×1
redirect ×1
session ×1
ssl ×1