mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-11-26 04:31:37 +08:00
cookie过期时间为0时仅限本次访问鉴权
This commit is contained in:
parent
a865cccf8b
commit
4662c1feb0
@ -404,8 +404,8 @@ void installWebHook(){
|
||||
//执行hook
|
||||
do_http_hook(hook_http_access,body, [invoker](const Value &obj,const string &err){
|
||||
if(!err.empty()){
|
||||
//如果接口访问失败,那么10秒内该客户端都没有访问http服务器的权限
|
||||
invoker("",10);
|
||||
//如果接口访问失败,那么仅限本次没有访问http服务器的权限
|
||||
invoker("",0);
|
||||
return;
|
||||
}
|
||||
//path参数是该客户端能访问的根目录,该目录下的所有文件它都能访问
|
||||
|
@ -388,12 +388,16 @@ inline void HttpSession::canAccessPath(const string &path_in,bool is_dir,const f
|
||||
//自己已经销毁
|
||||
return;
|
||||
}
|
||||
//我们给用户生成追踪cookie
|
||||
auto cookie = CookieManager::Instance().addCookie(uid, kMaxClientPerUid, cookieLifeSecond);
|
||||
//记录用户能访问的路径
|
||||
(*cookie)[kAccessPathKey] = accessPath;
|
||||
//判断该用户是否有权限访问该目录,并且设置客户端cookie
|
||||
callback(!accessPath.empty() && path.find(accessPath) == 0, cookie);
|
||||
if(cookieLifeSecond){
|
||||
//我们给用户生成追踪cookie
|
||||
auto cookie = CookieManager::Instance().addCookie(uid, kMaxClientPerUid, cookieLifeSecond);
|
||||
//记录用户能访问的路径
|
||||
(*cookie)[kAccessPathKey] = accessPath;
|
||||
//判断该用户是否有权限访问该目录,并且设置客户端cookie
|
||||
callback(!accessPath.empty() && path.find(accessPath) == 0, cookie);
|
||||
}else{
|
||||
callback(!accessPath.empty() && path.find(accessPath) == 0, nullptr);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user