class Thoth::AdminController

Public Instance Methods

index() click to toggle source
# File lib/thoth/controller/admin.rb, line 34
def index
  if auth_key_valid?
    @title       = 'Welcome to Thoth'
    @public_root = PUBLIC_DIR
    @view_root   = VIEW_DIR
  else
    @title = 'Login'
  end
end
login() click to toggle source

Authenticates an admin login by checking the username and password request parameters against the ADMIN_USER and ADMIN_PASS values in the Thoth config file.

On a successful login, an auth cookie named thoth_auth will be set and the user will be redirected to the referring URL. On an unsuccessful login attempt, a flash message named login_error will be set and the user will be redirected to the referring URL without an auth cookie.

# File lib/thoth/controller/admin.rb, line 53
def login
  username, password = request[:username, :password]

  if username == Config.admin['user'] && password == Config.admin['pass']
    # Set an auth cookie that expires in two weeks.
    response.set_cookie('thoth_auth', :expires => Time.now + 1209600,
        :path => '/', :value => auth_key)
    
    redirect_referrer
  end

  flash[:error] = 'Invalid username or password.'
  redirect_referrer
end
logout() click to toggle source

Deletes the thoth_auth cookie and redirects to the home page.

# File lib/thoth/controller/admin.rb, line 69
def logout
  response.delete_cookie('thoth_auth', :path => '/')
  redirect(MainController.r())
end