- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我是 ZF2 的新手,不太习惯如何做事。我想使用 session 来跟踪用户(记住我)。我在类的一部分中有这段代码:
$sessionManager = new \Zend\Session\SessionManager();
$sessionManager->rememberMe($time);
// i want to keep track of my user id too
$populateStorage = array('user_id' => $user->getId());
$storage = new ArrayStorage($populateStorage);
$sessionManager->setStorage($storage);
好的,到目前为止一切顺利。当我尝试时:
var_dump($sessionManager->getStorage());
我得到了预期的数据。
在我程序的另一部分,我想再次检索我的数据(有点像容器):
$sessionManager = new \Zend\Session\SessionManager();
var_dump($sessionManager->getStorage());
这只会返回一个空对象。我想这是由于"new",我想我必须以不同的方式实现 SessionManager,但是如何呢?我不知道。这是我想出的:
在我的模块中,我现在有:
public function onBootstrap(\Zend\Mvc\MvcEvent $e)
{
$config = $e->getApplication()
->getServiceManager()
->get('Configuration');
$sessionConfig = new SessionConfig();
$sessionConfig->setOptions($config['session']);
$sessionManager = new SessionManager($sessionConfig);
$sessionManager->start();
在我的 module.config 中:
'session' => array(
'remember_me_seconds' => 2419200,
'use_cookies' => true,
'cookie_httponly' => true,
),
但是如何进行呢?我如何获取我的 sessionManager 的实例?
最佳答案
SessionManagerFactory ( zf2 api doc ) 和 SessionConfigFactory ( zf2 api doc ) 没有很好的文档记录。使用这些实例化 SessionManager 非常容易,只需将这些工厂放入您的 ServiceManager 配置中即可:
'service_manager' => [
'factories' => [
'Zend\Session\SessionManager' => 'Zend\Session\Service\SessionManagerFactory',
'Zend\Session\Config\ConfigInterface' => 'Zend\Session\Service\SessionConfigFactory',
],
],
模块配置将 session 选项放在 session_config 键下:
'session_config' => [
'remember_me_seconds' => 2419200,
'use_cookies' => true,
'cookie_httponly' => true,
],
就是这样,现在您可以从任何地方的服务定位器中获取 SessionManager,例如在 Controller 中:
/** @var Zend\Session\SessionManager $sm */
$sessionManager = $this->serviceLocator->get('Zend\Session\SessionManager');
从 Zend Framework 的 2.2 版本开始可用 (related pull request)。
关于php - ZF2 SessionManager 用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20639289/
我正在使用 RxAlamofire 更新我的代码。我用最新版本更新了 RxAlmofire。我如何更新这段代码config.httpAdditionalHeaders = SessionManager
我正在尝试将其他人的代码迁移到 Swift 3。一切都很顺利,除了一行我无法弄清楚。它在 Swift 2.2 中工作正常,但在 Swift 3 中无法编译。它返回错误: Cannot call val
我正在运行 Wildfly 8.1 服务器。我有自己的 SessionManager 实现 io.undertow.server.session.SessionManager。我想配置系统以使用我的
我需要一些帮助。我在尝试使用挂毯 5.3.6、hibernate 4.1.7.Final 和 Mysql 5.1.21 将一些表单数据存储到我的数据库中时遇到此错误 实际上,数据存储在数据库中,但单击
这是我在设置 SessionManager 时尝试更改超时长度的代码: private var defaultSessionManager: Alamofire.SessionManager = {
我是 ZF2 的新手,不太习惯如何做事。我想使用 session 来跟踪用户(记住我)。我在类的一部分中有这段代码: $sessionManager = new \Zend\Session\Sessi
我在谷歌上找到了很多关于这个问题的引用,但没有答案。我正在使用最新版本的 jetty (8.1.2.v20120308),但似乎无法获得能够使用 session 的嵌入式 servlet。该示例当然是
使用 Alamofire 4.0 和 Swift 3.0 可以实现: Alamofire.request("http://content.uplynk.com/player/assetinfo/ab1
ServletContainerSessionManager 不是 ValidatingSessionManager;它是否遵循底层容器来处理孤立清理?这似乎不对。 我认为切换到 DefaultWeb
全部。现在我通过观看《Coding for entreprenus》来学习 iOS 和 swift、alamofire。我使用 swift3 和 alamofire4,但他们教它 alamofire3
所以我正在为我的项目制作一个用于 Alamofire 网络的实用程序类。 我在里面有各种功能,比如: func createAccount() func login() 我想对所有这些功能的请求和响应
我想做什么:我正在将 Spotify SDK 实现到我的 iOS 项目中。我已成功收到 Spotify API 的访问 token ,因为我能够使用所述 API 执行搜索艺术家、搜索歌曲和查看播放列表
请给我建议如何正确设置 Jetty。我使用的是最新版本的 jetty (9.0.6.v20130930)。我订购了服务器实现具体的 servlet,但它不起作用! 我已经与 Jetty 合作过一些,但
当我尝试在 shiro.ini 中设置 session 超时时,我面临另一个问题像这样: securityManager.sessionManager.globalSessionTimeout = 3
为什么我收到此错误,我没有。我已经在使用 Alamofire 5 时将 Alamofire 更改为 AF。请指导有什么问题和需要更改的地方。下面是我收到错误的代码: private func cal
我想在 Cassandra 中检测通过 datastax java 驱动程序执行的查询。扩展 com.datastax.driver.core.SessionManager 是这样吗?另外,如果扩展
在 AFHTTPSessionManager 的子类中,在调用 GET 方法之前,我有以下内容: [self.requestSerializer setValue:userName forHT
所以,我正在使用 Alamofire 发出一些 HTTP 请求,并且我正在尝试使用缓存策略,但服务器的 header 中没有“Cache-Control”标志。所以我想使用 session 管理器添加
几个月来我一直面临这个问题,我已经阅读了几乎所有关于此的信息并实现了大多数解决方案,但仍然没有任何改变。我不知道我在哪里犯了错误。 我正在使用自定义 SessionManager 类在我的 ASP.n
我发现 ZF2 session 和超时有一些奇怪且令人沮丧的行为。 这是我用来设置 session 的代码: $sessionConfig = new \Zend\Session\Config
我是一名优秀的程序员,十分优秀!