* Added authentication.

[?]
Nov 26, 2008, 7:48 PM
S66BOMVUACAUDSGSDWP7ZIXVMZSQHWXOZYVTB7ILUCWZ7DDFAKVAC

Dependencies

Change contents

  • edit in src/Hydra/hydra.conf at line 2
    [4.51]
    <authentication>
    default_realm dbic
    <realms>
    <dbic>
    <credential>
    class Password
    password_field password
    password_type hashed
    password_hash_type SHA-1
    </credential>
    <store>
    class DBIx::Class
    user_class DB::Users
    </store>
    </dbic>
    </realms>
    </authentication>
  • edit in src/Hydra/lib/Hydra/Controller/Root.pm at line 62
    [3.54]
    [3.54]
  • edit in src/Hydra/lib/Hydra/Controller/Root.pm at line 64
    [3.55]
    [3.55]
    sub login :Local {
    my ($self, $c) = @_;
    my $username = $c->request->params->{username} || "";
    my $password = $c->request->params->{password} || "";
  • edit in src/Hydra/lib/Hydra/Controller/Root.pm at line 70
    [3.56]
    [3.56]
    if ($username && $password) {
    if ($c->authenticate({username => $username, password => $password})) {
    $c->response->redirect(
    defined $c->flash->{afterLogin}
    ? $c->flash->{afterLogin}
    : $c->uri_for('/'));
    $c->flash->{afterLogin} = undef;
    return;
    }
    $c->stash->{errorMsg} = "Bad username or password.";
    }
    $c->stash->{template} = 'login.tt';
    }
    sub logout :Local {
    my ($self, $c) = @_;
    $c->logout;
    $c->response->redirect($c->uri_for('/'));
    }
    sub requireLogin {
    my ($c) = @_;
    $c->flash->{afterLogin} = $c->request->uri;
    $c->response->redirect($c->uri_for('/login'));
    }
  • replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 101
    [3.75][3.75:101]()
    my ($self, $c) = @_;
    [3.75]
    [3.101]
    my ($self, $c) = @_;
    return requireLogin($c) if !$c->user_exists;
  • replacement in src/Hydra/lib/Hydra/Schema/Buildinputs.pm at line 39
    [4.782][2.0:142]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 18:03:19
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:LXmRVGbyhgP5UGYK5ekbog
    [4.782]
    [4.924]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 20:02:52
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:LRcAsbLWbetVw+DCDnv/9w
  • replacement in src/Hydra/lib/Hydra/Schema/Buildproducts.pm at line 36
    [4.4922][2.143:285]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 18:03:19
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ai10FDZA/INuvAMu+1mvWw
    [4.4922]
    [4.5064]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 20:02:52
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Pu6gWxltfVJJ+9DBiC9bYg
  • replacement in src/Hydra/lib/Hydra/Schema/Buildresultinfo.pm at line 32
    [4.2382][2.286:428]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 18:03:19
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:KLmCZNoPd+vFmAj7XNtLMQ
    [4.2382]
    [4.2524]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 20:02:52
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:X5GXZRLAaCMl8OKBGjtztw
  • replacement in src/Hydra/lib/Hydra/Schema/Builds.pm at line 73
    [4.6194][2.429:571]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 18:03:19
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:hm/IA7ESnKT9gls0lw1Daw
    [4.6194]
    [4.3377]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 20:02:52
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:h32zqOEGcpXQy7pshiWVMA
  • replacement in src/Hydra/lib/Hydra/Schema/Buildschedulinginfo.pm at line 26
    [4.4473][2.572:714]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 18:03:19
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:d/8LOVy+FfKFEo7iFbP3Gw
    [4.4473]
    [4.4615]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 20:02:52
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:egegc7kFKTt9cEGuomi0cQ
  • replacement in src/Hydra/lib/Hydra/Schema/Buildsteps.pm at line 38
    [4.2816][2.715:857]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 18:03:19
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:a/DM38J4HR2LBDTeXvt4uA
    [4.2816]
    [4.2958]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 20:02:52
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:kFD90OFRM1aqVVCBCh/geA
  • replacement in src/Hydra/lib/Hydra/Schema/Cachedpathinputs.pm at line 25
    [4.1497][2.858:1000]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 18:03:19
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Pnefs6s7Y0i3YRE+BoWdDg
    [4.1497]
    [4.1639]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 20:02:52
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:r/3GaLIIWaX1fh8kfuQp+w
  • replacement in src/Hydra/lib/Hydra/Schema/Cachedsubversioninputs.pm at line 23
    [4.2342][2.1001:1143]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 18:03:19
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:gmw8LSLTRV00vCYDKiuZOw
    [4.2342]
    [4.2484]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 20:02:52
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:yTp1XcBSQ+6OJvVLugRh1w
  • replacement in src/Hydra/lib/Hydra/Schema/Jobsetinputalts.pm at line 36
    [4.1831][2.1144:1286]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 18:03:19
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:R26KAvuQZHKAyG/hEaB6Gw
    [4.1831]
    [4.1973]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 20:02:52
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:lYdNLENxLW2mtZ2w+jou8w
  • replacement in src/Hydra/lib/Hydra/Schema/Jobsetinputs.pm at line 46
    [4.1681][2.1287:1429]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 18:03:19
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:quDswVe6ApUm4cYVVijAEw
    [4.1681]
    [4.1823]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 20:02:52
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Bk/vLWpBjR3ZU0p1KN7KfA
  • replacement in src/Hydra/lib/Hydra/Schema/Jobsets.pm at line 53
    [4.2992][2.1430:1572]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 18:03:19
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:nDI28mE5gmZwDozOG/0fnw
    [4.2992]
    [4.3134]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 20:02:52
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9xvvQg/H0oibycB6B45V5A
  • replacement in src/Hydra/lib/Hydra/Schema/Projects.pm at line 33
    [4.3685][2.1573:1715]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 18:03:19
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:SKZ/imJK1fjPbBEXde23Og
    [4.3685]
    [4.3827]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 20:02:52
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:3YMBhMqCjtpUjoTx4JLTOw
  • replacement in src/Hydra/lib/Hydra/Schema/Systemtypes.pm at line 19
    [2.2105][2.2105:2247]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 18:03:19
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:/NVhmxcHU6YWCXDX9sO8mA
    [2.2105]
    [2.2247]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 20:02:52
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:SSKVFeg7ieeLJcF+s1uWWw
  • file addition: Users.pm (----------)
    [40.207]
    package Hydra::Schema::Users;
    use strict;
    use warnings;
    use base 'DBIx::Class';
    __PACKAGE__->load_components("Core");
    __PACKAGE__->table("Users");
    __PACKAGE__->add_columns(
    "username",
    { data_type => "text", is_nullable => 0, size => undef },
    "fullname",
    { data_type => "text", is_nullable => 0, size => undef },
    "emailaddress",
    { data_type => "text", is_nullable => 0, size => undef },
    "password",
    { data_type => "text", is_nullable => 0, size => undef },
    );
    __PACKAGE__->set_primary_key("username");
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 20:02:52
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:BgF6FK+9d7+cc72sp6pfCQ
    # You can replace this text with custom content, and it will be preserved on regeneration
    1;
  • replacement in src/Hydra/lib/Hydra/Schema.pm at line 11
    [4.6498][2.2382:2524]()
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 18:03:19
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Pcp+OvDPqTvMftKcbkPkjA
    [4.6498]
    [4.6640]
    # Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-26 20:02:52
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:jK/9VMZBot2RJwtlHA6QIg
  • edit in src/Hydra/lib/Hydra.pm at line 13
    [4.7172]
    [4.7172]
    Authentication
    Session
    Session::Store::FastMmap
    Session::State::Cookie
  • replacement in src/Hydra/root/build.tt at line 20
    [4.7461][4.7461:7469]()
    <table>
    [4.7461]
    [4.7469]
    <table class="layoutTable">
  • replacement in src/Hydra/root/layout.tt at line 112
    [4.1995][4.1173:1252](),[4.4528][4.1173:1252](),[4.1252][4.2939:3037]()
    [% INCLUDE makeLink uri = c.uri_for('/users') title = "Users" %]
    [% INCLUDE makeLink uri = c.uri_for('/createproject') title = "Create a project" %]
    [4.1995]
    [4.4682]
    [% IF c.user_exists %]
    [% INCLUDE makeLink uri = c.uri_for('/logout') title = "Logout" %]
    [% ELSE %]
    [% INCLUDE makeLink uri = c.uri_for('/login') title = "Login" %]
    [% END %]
    [% INCLUDE makeLink uri = c.uri_for('/createproject') title = "Create project" %]
  • edit in src/Hydra/root/layout.tt at line 128
    [41.615]
    [4.4876]
    [% IF c.user_exists %]
    You are logged in as <tt>[% c.user.username %]</tt>.
    [% END %]
  • replacement in src/Hydra/root/project.tt at line 77
    [4.1624][4.1624:1634]()
    <table>
    [4.1624]
    [4.227]
    <table class="layoutTable">
  • replacement in src/Hydra/root/project.tt at line 151
    [4.3197][4.3197:3205]()
    <table>
    [4.3197]
    [4.3205]
    <table class="layoutTable">
  • replacement in src/Hydra/root/project.tt at line 261
    [4.2863][4.1918:1926]()
    <table>
    [4.2863]
    [4.1926]
    <table class="layoutTable">
  • edit in src/Hydra/root/static/css/hydra.css at line 30
    [42.431]
    [4.9016]
    }
    .layoutTable td, .layoutTable th {
    border-style: none;
  • edit in src/hydra.sql at line 263
    [2.3078]
    [4.5623]
    );
    create table Users (
    userName text primary key not null,
    fullName text,
    emailAddress text not null,
    password text not null -- sha256 hash