Fixed authentication; fixed configuration loading

This commit is contained in:
Gregory Ballantine 2023-03-31 12:12:48 -04:00
parent 72bb25a6ad
commit 980728bb07
5 changed files with 11 additions and 7 deletions

View File

@ -13,12 +13,11 @@ class Webdap
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]
ldap = Net::LDAP.new(:host => $conf.get('ldap.server_url'), :port => 389)
ldap_bind_dn = "#{$conf.get('ldap.user_uid_attr')}=#{params[:auth_username]},#{$conf.get('ldap.user_ou')}"
if ldap.bind(:method => :simple, :username => ldap_bind_dn, :password => params[:auth_password])
session['ldap_uid'] = params[:auth_username]
redirect '/account/view'
else
# Authentication failure

View File

@ -7,6 +7,7 @@ class Webdap
get '/' do
erb :index, locals: {
title: 'Home',
server: $conf.get('ldap.server_url'),
}
end

View File

@ -1,6 +1,8 @@
ldap:
server_url: 'ldap://ldap.example.com'
port: 389
user_uid_attr: 'uid'
user_ou: 'ou=People,dc=example,dc=com'
server:
address: '127.0.0.1'

View File

@ -1,6 +1,6 @@
# Load application config
require './app/config.rb'
$conf = Config.new(File.join(__dir__, 'config/config.yaml'))
$conf = Config.new(File.join(__dir__, '../config/config.yaml'))
bind_address = "tcp://#{$conf.get('server.address')}:#{$conf.get('server.port')}"
bind bind_address

View File

@ -4,5 +4,7 @@
<p>You can use this site to manage your network account. <i class="fa-solid fa-address-book"></i></p>
<p><a href="/auth/login">Click here</a> to login.</p>
<p>Server URL: <%= server %></p>
</div>
</div>