Overview

Packages

  • controladores
  • modelos
  • None
  • PHP

Classes

  • Activity
  • ActivityController
  • AuthController
  • BaseController
  • Course
  • DatabaseSeeder
  • ExampleTest
  • Guardian
  • HomeController
  • Message
  • MessageController
  • OptStudentCriteriaGrade
  • Period
  • Profile
  • SchoolSetup
  • Student
  • StudentCriteriaGrade
  • StudentSubjectSubperiodAverage
  • StudentSubjectSubperiodAverageController
  • SubPeriod
  • TestCase
  • User
  • UserController

Exceptions

  • Exception
  • InvalidArgumentException
  • LogicException

Functions

  • ws_response
  • Overview
  • Package
  • Class
  • Tree
 1: <?php
 2: 
 3: /**
 4:  * Controlador de autenticacion de usuarios
 5:  * @package controladores
 6:  * @author David Castro
 7:  * @since  2016-02-23
 8:  */
 9: class AuthController extends BaseController {
10: 
11:     /**
12:      * 
13:      * Metodo para establecer el logueo de los usuarios
14:      * @param   String $username
15:      * @param   String $password
16:      *
17:      * @return  String mensaje de acceso
18:      * @throws  InvalidArgumentException
19:      * @since   2016-02-24
20:      * @author  David Castro
21:      *
22:      * @edit    2016-02-24<br/>
23:      *          David Castro<br/>
24:      *          documentacion del metodo<br/>
25:      *          #edit1
26:      */
27:     public function postLogin() {
28:         try {
29:             //Validación de username y password como obligatorios
30:             $validator = Validator::make(Input::all(), User::rulesLogin());
31:             $username = Input::get('username');
32:             $password = md5(Input::get('password'));
33: 
34:             if ($validator->fails()) {
35:                 return ws_response(true, Input::except('password'), $validator->errors()->getMessages(), 200);
36:             }
37:             //Búsqueda usuario
38:             $user = User::where('username_usr', '=', $username)
39:                     ->where('password_usr', '=', $password)
40:                     ->first();
41:             //Si usuario existe
42:             if (!empty($user)) {
43:                 //Busqueda de perfil perfiles permitidos (Representante y Estudiante) 
44:                 //definidos en modelo User
45:                 $profile = Profile::join('user_profile', function($join) use ($user) {
46:                             $join->on('profile.serial_prf', '=', 'user_profile.serial_prf')
47:                             ->where('user_profile.serial_usr', '=', $user->serial_usr)
48:                             ->where('user_profile.status_upr', '=', 'ACTIVE');
49:                         })
50:                         ->whereIn('profile.name_prf', User::$allowedProfiles)
51:                         ->where('profile.status_prf', '=', 'ACTIVE')
52:                         ->select('profile.serial_prf', 'profile.name_prf')
53:                         ->first();
54:                 if (!empty($profile)) {
55:                     $token = JWTAuth::fromUser($user);
56:                     return ws_response(false, array('token' => $token), 'Acceso Concedido', 200);
57:                 } else {
58:                     return ws_response(true, null, 'El usuario no posee un perfil autorizado para acceder', 200);
59:                 }
60:             } else {
61:                 return ws_response(true, null, 'El usuario y/o la contraseña ingresadas no son credenciales válidas.', 200);
62:             }
63:         } catch (Exception $ex) {
64:             return ws_response(true, null, 'ERROR ' . $ex->getCode() . '! ' . $ex->getMessage(), 500);
65:         }
66:     }
67: 
68: }
69: 
learnbox_ws API documentation generated by ApiGen