以前所有的身份验证都是写在代码里面的.后来有一天,遇到个没有认证功能的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是否存在).

每个系统判断的方法不一样,所以没有上判断的代码.

(完)