| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- ---
- --- Generated by EmmyLua(https://github.com/EmmyLua)
- --- Created by fanfan.
- --- DateTime: 2020-05-27 9:22
- ---
- local key=KEYS
- local portalKeys = {}
- local sessionKeys = {}
- local size = #key
- local result = {}
- if size == 0 then
- return ''
- end
- for i = 1, size do
- if string.find(key[i],"portal") then
- table.insert(portalKeys,key[i])
- elseif string.find(key[i],"shiro:session") then
- table.insert(sessionKeys,key[i])
- end
- end
- local portalKeysSize = #portalKeys
- local sessionKeysSize = #sessionKeys
- local regx = "(.+token%p)(.+)"
- --local pi = "portal:user:login_token_a8b0b971-77c2-4e00-b994-86e8529b6d22"
- --local name = string.gsub(pi,"(.+token%p)(.+)","%2")
- -- 遍历数组
- local function IsInTable(value, tbl)
- for k,v in ipairs(tbl) do
- if v == value then
- return true;
- end
- end
- return false;
- end
- local function square (List1,List2,bool)
- local Len = #List1;
- local pk = "portal:user:login_token_"
- local sk = "shiro:session:login_token_"
- for i = 1, Len do
- local si = ""
- local token = string.gsub(tostring(List1[i]),regx,"%2")
- if bool then
- si = sk..token
- else
- si = pk..token
- end
- print("si........."..si);
- if IsInTable(si,List2) then
- table.insert(result,pk..token)
- end
- end
- end
- if portalKeysSize <= sessionKeysSize then
- square(portalKeys,sessionKeys,true)
- else
- square(sessionKeys,portalKeys,false)
- end
- local resultSize = #result
- --if resultSize then
- -- for i = 1, resultSize do
- -- print(result[i])
- -- end
- --end
- if (resultSize == 0) then
- return ''
- else
- return result;
- end
|