webdap/app/controllers/auth.rb

34 lines
691 B
Ruby
Raw Normal View History

# frozen_string_literal: true
2022-12-10 01:59:30 -05:00
require 'net/ldap'
class Webdap
# Handles /auth routes
class AuthController
2022-12-10 01:59:30 -05:00
get '/login' do
erb :'auth/login', locals: {
title: 'Login to your account',
2022-12-10 18:55:58 -05:00
}
end
post '/login' do
ldap = Net::LDAP.new
ldap.host = cnf['ldap']['server_url']
ldap.port = 389
ldap.auth(params[:login_username], params[:login_password])
if ldap.bind()
session['ldap_uid'] = params[:username]
redirect '/account/view'
else
# Authentication failure
erb :'auth/login', locals: {
title: 'Login to your account',
fail: true,
}
end
end
end
2022-12-10 01:59:30 -05:00
end