Welcome! Log In Create A New Profile

Advanced

Re: webdav+ext base.auth+var=error

April 13, 2015 12:58PM
Вот результат. Пользуйтесь на здоровье.
Ногами не пинать. эт моя первая программка на lui
https://ihome.itcod.com/max/projects/auth-dav/

Замечания предложения итд пишите мылом ссылку на обсуждение:)

# auth-dav
Nginx Base Authenticate url/.htpasswd for WebDAV and HTTP secure directory(links). Support CRYPT(3) MD5 SHA-1 secure hash. Test computation in Lua (5.1)

-- Copyright (c) 2015 by Yura Vdovytchenko (max@itcod.com)
"https://ihome.itcod.com/max/projects/auth-dav/",

Nginx Base Authenticate url/.htpasswd for WebDAV and HTTP secure directory(links)
Support CRYPT(3) MD5 SHA-1 secure hash.
Test computation in Lua (5.1)
Author by Yura Vdovytchenko
License MIT

ОПИСАНИЕ

Модуль аутентификации для nginx. Nginx с поддержкой lua 5.1.
Основная задача модуля обеспечить независимую парольную защиту для каждой папки на сайте (WEBDAV-хранилище/облака).
Реализовано методом автоматической Base-авторизации при обнаружении в папке/url файла авторизации (например: .htpasswd).
Поддерживает три базовых метода кодирования CRYPT(3) MD5 SHA1

ЗАМЕЧАНИЯ

На текущий момент WEBDAV-клиенты (BitKenix/FAR-NetDrive) обеспечивают только авторизацию при первичном входе, и не умеют выдавать запрос авторизации при переходе в подпапку с иным авторизуемым пользователем. Браузеры умеют.

REQUIRE

require "base64" -- base64.lua https://github.com/toastdriven/lua-base64
local utf8 = require "utf8" -- utf8.lua Kyle Smith https://gist.github.com/markandgo/5776124
local csv = require("csv") -- lua-csv https://github.com/geoffleyland/lua-csv
local resty_sha1 = require "resty.sha1" -- https://github.com/openresty/lua-resty-core
local apr = require "apr.core" -- lua-apr
-- Loading the library. crypt -- https://github.com/PlugwiseBV/luacrypt
descrypt = assert(package.loadlib("/usr/local/lib/lua/5.1/crypt.so", "luaopen_crypt"))

STARTUP

--path lua file: /etc/nginx/lua/auth-dav.lua
--Example Nginx virtual example.conf

server {
...
set $dir /opt/home;
set $dir_path $dir;
set $home $dir_path;
set $sadm_passwd .htpsw;
set $user_passwd .uhtpasswd;

location / {
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
create_full_put_path on;
dav_access user:rw group:rw;
client_body_temp_path /opt/itcod-dav.tmp/;
access_by_lua_file /etc/nginx/lua/auth-dav.lua;
client_max_body_size 0;
autoindex on;
root /opt/home/;

limit_except GET {
allow all;
#deny all;
}
}
location ~/\.ht {
deny all;
}
}
Subject Author Posted

Re: webdav+ext base.auth+var=error

Илья Шипицин March 21, 2015 02:08AM

Re: webdav+ext base.auth+var=error

itcod March 21, 2015 10:40AM

Re: webdav+ext base.auth+var=error

Илья Шипицин March 23, 2015 08:12AM

Re: webdav+ext base.auth+var=error

itcod March 24, 2015 02:29AM

Re: webdav+ext base.auth+var=error

itcod April 13, 2015 12:58PM

Re: webdav+ext base.auth+var=error

itcod April 13, 2015 01:18PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 269
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready