以前所有的身份验证都是写在代码里面的.后来有一天,遇到个没有认证功能的web,需要从我们的服务器出去…..折腾了这个东西.
说是nginx + lua 其实我说谎了…..我使用的是OpenResty
没有找到 win平台nginx + lua的安装教程
下载地址:官网下载页面
下载解压后目录和nginx差不多.所以就直接上配置文件了.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| server { listen 80; server_name localhost; location / { proxy_pass http://www.test.com/; proxy_redirect default;
# 使用lua进行权限验证 access_by_lua ' -- 判断名为Token的Cookie是否存在 local cookie_name = "cookie_Token" if ngx.var[cookie_name] == null then -- 如果cookie不存在返回401错误 ngx.exit(ngx.HTTP_UNAUTHORIZED)
-- 也可以直接跳转到登录地址 -- return ngx.redirect("http://登录地址") end '; } }
|
我这里是读取cookie并判断cookie的真实性(其实只判断了cookie是否存在).
每个系统判断的方法不一样,所以没有上判断的代码.
(完)