本文整理汇总了C++中ISecUser::isAuthenticated方法的典型用法代码示例。如果您正苦于以下问题:C++ ISecUser::isAuthenticated方法的具体用法?C++ ISecUser::isAuthenticated怎么用?C++ ISecUser::isAuthenticated使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISecUser
的用法示例。
在下文中一共展示了ISecUser::isAuthenticated方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onVerifyUser
bool Cws_accountEx::onVerifyUser(IEspContext &context, IEspVerifyUserRequest &req, IEspVerifyUserResponse &resp)
{
try
{
ISecUser* usr = context.queryUser();
if(!usr || !usr->isAuthenticated())
{
resp.setRetcode(-1);
return false;
}
const char* ver = req.getVersion();
if (!ver || !*ver)
{
throw MakeStringException(ECLWATCH_OLD_CLIENT_VERSION, "Client version not found");
}
int minor = 0;
int major = 0;
const char* dot1 = strrchr(ver, '.');
if (!dot1)
minor = atoi(ver);
else if (strlen(dot1) > 1)
{
minor = atoi(dot1 + 1);
if(dot1 > ver)
{
const char* dot2 = dot1 - 1;
while(dot2 > ver && *dot2 != '.')
dot2--;
if(*dot2 == '.')
dot2++;
if(dot2 < dot1)
{
StringBuffer majorstr;
majorstr.append(dot1 - dot2, dot2);
major = atoi(majorstr.str());
}
}
}
if(major > CUTOFF_MAJOR || (major == CUTOFF_MAJOR && minor >= CUTOFF_MINOR))
{
resp.setRetcode(0);
return true;
}
const char* build_ver = getBuildVersion();
if (build_ver && *build_ver)
throw MakeStringException(ECLWATCH_OLD_CLIENT_VERSION, "Client version %s (server %s) is out of date.", ver, build_ver);
else
throw MakeStringException(ECLWATCH_OLD_CLIENT_VERSION, "Client version %s is out of date.", ver);
}
catch(IException* e)
{
FORWARDEXCEPTION(context, e, ECLWATCH_INTERNAL_ERROR);
}
return true;
}