本文整理汇总了C++中WebContext::getSession方法的典型用法代码示例。如果您正苦于以下问题:C++ WebContext::getSession方法的具体用法?C++ WebContext::getSession怎么用?C++ WebContext::getSession使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WebContext
的用法示例。
在下文中一共展示了WebContext::getSession方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getSession
SessionPtr SessionManager::getSession(WebContext &ctx,
const std::string &_id) const {
string id = _id;
if (id.empty()) id = ctx.getRequest().findCookie(sessionCookie);
if (id.empty()) THROW("Session ID is not set");
if (!ctx.getSession().isNull() && id == ctx.getSession()->getID())
return ctx.getSession();
SmartLock lock(this);
iterator it = sessions.find(id);
if (it == end()) THROWS("Session ID '" << id << "' does not exist");
SmartPointer<Session> session = it->second;
// Check that IP address matches
if (ctx.getClientIP().getIP() != session->getIP().getIP())
THROWS("Session ID (" << id << ") IP address changed from "
<< ctx.getClientIP() << " to " << session->getIP());
session->touch(); // Update timestamp
ctx.setSession(session);
dirty = true;
return session;
}
示例2: setSessionCookie
void SessionManager::setSessionCookie(WebContext &ctx) const {
SessionPtr session = ctx.getSession();
Cookie cookie(sessionCookie, session->getID(), "", "",
session->getCreationTime() + sessionLifetime,
sessionLifetime, true, true);
ctx.getResponse().set("Set-Cookie", cookie.toString());
}