ayenz / Sharif-Judge

A free and open source online judge system for programming courses
https://github.com/mjnaderi/Sharif-Judge/tree/docs
GNU General Public License v3.0
1 stars 2 forks source link

Implement RADIUS login #3

Closed pascalalfadian closed 6 years ago

pascalalfadian commented 6 years ago

Using the following as example (from User_model):

    /**
     * Validate User
     *
     * Returns TRUE if given username and password is valid for login
     *
     * @param $username
     * @param $password
     * @return bool
     */
    public function validate_user($username, $password) {
        $this->load->library('password_hash', array(8, FALSE));
        $query = $this->db->get_where('users', array('username' => $username));
        if ($query->num_rows() != 1)
            return FALSE;
        if ($query->row()->username !== $username) // needed (because of utf8_general_ci [ci=case insensitive])
            return FALSE;
        // 1. Check in local database
        if ($this->password_hash->CheckPassword($password, $query->row()->password))
            return TRUE;
        // 2. Check in ActiveDirectory
        $this->load->library('radius');
        $radius = new Radius('<masked>', '<masked>');
        if ($radius->AccessRequest($username, $password)) {
            return TRUE;
        }
        return FALSE;
    }

Using RADIUS library from (likely) here: https://github.com/dapphp/radius

pascalalfadian commented 6 years ago

@ayenz ini sudah diimplement belum ya? Kalau belum, nanti kamu implement ya, koordinasi dengan @chez14 untuk konfigurasi dan testing nya.

ayenz commented 6 years ago

Selamat siang Pak. Fitur login RADIUS dalam proses implementasi. Kebetulan kemarin saya juga sudah berkordinasi dengan Gunawan untuk implementasinya. Semoga fiturnya dapat selesai hari ini atau besok. Terima kasih.

chez14 commented 6 years ago

Status judge sekarang sudah diupkan siang barusan, saat ini repo ini terdeploy ke:

Terima kasih.

Btw saat ini kami sedang mengalami masalah dengan radius, jadi untuk sementara login dengan akun labkom tidak dapat dilakukan. Akan saya follow up saat masalah ini selesai.

pascalalfadian commented 6 years ago

Trims untuk update nya!

Oh ya, saya baru ingat kalau untuk quiz, itu mahasiswa login nya locked by IP address ya? Kalau di versi Stillmen tidak ada fitur itu 😮 apa langsung di custom di server nya ya, atau buat branch baiknya?

ayenz commented 6 years ago

Selamat siang Pak, Sharif Judge untuk quiz akan saya coba untuk buat branchnya. Terima kasih.

chez14 commented 6 years ago

Untuk quiz, sbenernya kita nggak lock by IP, quiznya selalu hanay bisa di akses di local, Pa @pascalalfadian.

pascalalfadian commented 6 years ago

Trims Chris, kalau gitu untuk sementara berarti ga masalah ya.

chez14 commented 6 years ago

Betul pa

chez14 commented 6 years ago

Btw saat ini issue tentang login sudah teresolve, cuma barusan @ferdianexe nggak sengaja nyalain si ceklis emailnya, jadi anak-anak dapet email nyasar xD yang itu mohon diabaikan saja

Oh btw muncul issue baru, kaya email konfirmasi yang dikirim jadi aneh, seperti yang sampai di inbox email bapak (saya sempat cek), lalu folder assignments mungkin sebaiknya di hapus karna tabrakan dengan virtual urlnya judge untuk /assignments hehehe

pascalalfadian commented 6 years ago

Oke thanks, kalau ada issue yang bisa dilempar ke @ayenz, minta tolong ayenz aja dalam bentuk issue, sebagai bagian dari skripsi nya dia 😉 (nanti dilaporkan aja di dokumen untuk menambah bobot pengerjaan).

pascalalfadian commented 6 years ago

Btw ini udah beres kan @ayenz ? kalau memang sudah, di close aja ya. Trims.

ayenz commented 6 years ago

Implemented.