PHP - Como verificar si diferentes tipos de usuarios tienen privilegios para ingresar a ciertas paginas

 
Vista:
Imágen de perfil de MAS82
Val: 116
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Como verificar si diferentes tipos de usuarios tienen privilegios para ingresar a ciertas paginas

Publicado por MAS82 (71 intervenciones) el 16/02/2019 16:11:48
Hola, tengo varias páginas en una aplicación , de cada una de ellas llamo a una página que se llama seguridad.php en la cual válido si hay un usuario logueado o si se a iniciado una sesión para permitir o denegar el acceso. Lo que requiero es que está página seguridad.php no solo valide si hay usuario logueado si no también que se verifique si el usuario logueado según su cargo tiene o no privilegios para ingresar a la página a la cual se requiere acceso y desde donde se invoco a seguridad.php. gracias de antemano .
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Como verificar si diferentes tipos de usuarios tienen privilegios para ingresar a ciertas paginas

Publicado por xve (6935 intervenciones) el 16/02/2019 20:03:04
Hola, no se muy bien como verificas si el usuario tiene o no privilegios, y no se muy bien que quieres que haga si no tiene privilegios...

Si no tiene privilegios, lo puedes sacar de la web, o enviarlo a la web inicial, no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de MAS82
Val: 116
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Como verificar si diferentes tipos de usuarios tienen privilegios para ingresar a ciertas paginas

Publicado por MAS82 (71 intervenciones) el 16/02/2019 21:10:07
te explico; intento hacer una aplicación para un restaurant, esta aplicación tiene una pagina llamada inicio en la cual se dispone de un menú en donde participan varios usuarios, como son: el administrador que tiene que tener acceso a todas las opciones del menú, el mozo que solo puede tener acceso a dos opciones del menú, el cocinero que solo puede entrar a una opción y un anfitrión que tiene acceso a una opción, dichas opciones son enlaces que te dirigen a ciertas paginas; cada una de estas paginas tienen un código al inicio que invoca a una pagina llamada seguridad.php que muestro a continuación:

1
2
3
4
5
6
7
8
9
10
<?php
 
session_start();
if ($_SESSION['logged']!= 'yes')
	  {
		 echo 'Hola '.$_SESSION['nombre'].'.';
		 header("Location: login.php?estadol=3");
		 exit();
	  }
?>


en esta pagina seguridad.php verifico si existe sesión iniciada; pero ademas quisiera agregar un código que me permita restringir el acceso a los usuarios que solo deben tener acceso a algunas opciones del menú.


desde estas forma llamo a seguridad.php desde mis otras paginas que la requieren:

1
2
3
<?php
include("seguridad.php");
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de MAS82
Val: 116
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Como verificar si diferentes tipos de usuarios tienen privilegios para ingresar a ciertas paginas

Publicado por MAS82 (71 intervenciones) el 17/02/2019 12:54:08
bueno e logrado que funcione de esta forma; haber si alquilen me dice si es correcto o me pudiera corregir si es que hubiese algo que no debe ser. les muestro como quedo seguridad.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
$url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
 
session_start();
 
if ($_SESSION['logged'] == 'yes' )
{
	if ($_SESSION['cargo'] != 'admin')
	{
		if ($_SESSION['cargo'] == 'mozo' && $url == "http://localhost/foods_msi/mesas.php")
		{
 
		}
		elseif ($_SESSION['cargo'] == 'mozo' && $url == "http://localhost/foods_msi/ventas.php")
		{
 
		}
		elseif ($_SESSION['cargo'] == 'cocina' && $url == "http://localhost/foods_msi/mesas.php")
		{
 
		}
		elseif ($_SESSION['cargo'] == 'anfitrion' && $url == "http://localhost/foods_msi/mesas.php")
		{
 
		}
 
		else
		{
			header("Location: index.php?");
		}
 
	}
 
}
 
else
{ header("Location: login.php?estadol=3");
exit(); }
 
 
?>

la duda que tengo ahora es que si la condición del "IF" se cumple es correcto no colocar dada ???

1
2
3
4
if ($_SESSION['cargo'] == 'mozo' && $url == "http://localhost/foods_msi/mesas.php")
		{
			......
		}


gracias de antemano
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de MAS82
Val: 116
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Como verificar si diferentes tipos de usuarios tienen privilegios para ingresar a ciertas paginas

Publicado por MAS82 (71 intervenciones) el 17/02/2019 18:25:36
o sera mejor hacerlo de esta forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
$url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
 
session_start();
 
if ($_SESSION['logged'] == 'yes' )
{
	if ($_SESSION['cargo'] != 'admin')
	{
		if ($_SESSION['cargo'] == 'mozo' && $url == "http://localhost/foods_msi/usuarios.php")
		{
			header("Location: index.php?");
		}
		if ($_SESSION['cargo'] == 'cocina' && $url == "http://localhost/foods_msi/usuarios.php")
		{
			header("Location: index.php?");
		}
		if ($_SESSION['cargo'] == 'cocina' && $url == "http://localhost/foods_msi/ventas.php")
		{
			header("Location: index.php?");
		}
		if ($_SESSION['cargo'] == 'anfitrion' && $url == "http://localhost/foods_msi/usuarios.php")
		{
			header("Location: index.php?");
		}
		if ($_SESSION['cargo'] == 'anfitrion' && $url == "http://localhost/foods_msi/ventas.php")
		{
			header("Location: index.php?");
		}
	}
}
else
{ header("Location: login.php?estadol=3");
exit(); }
 
 
?>

alguna recomendación por favor!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Como verificar si diferentes tipos de usuarios tienen privilegios para ingresar a ciertas paginas

Publicado por xve (6935 intervenciones) el 17/02/2019 20:04:42
Yo intentaria hacerlo de tal manera que si aumentan el numero de "cargos", no tengas que ir añadiendo lineas... algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
session_start();
 
if ($_SESSION['logged'] == 'yes' )
{
    if ($_SESSION['cargo'] == 'admin')
    {
        return;
    }
    if($_SERVER['REQUEST_URI']=="/foods_msi/usuarios.php")
    {
        $cargos=array('mozo', 'cocina', 'anfitrion');
        if(in_array($_SESSION['cargo'],$cargos)
        {
            header("Location: index.php?");
        }
    }
    if ($_SERVER['REQUEST_URI']=="/foods_msi/ventas.php")
    {
        $cargos=array('cocina', 'anfitrion');
        if(in_array($_SESSION['cargo'],$cargos)
        {
            header("Location: index.php?");
        }
    }
}else{
    header("Location: login.php?estadol=3");
}
return;
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de MAS82
Val: 116
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Como verificar si diferentes tipos de usuarios tienen privilegios para ingresar a ciertas paginas

Publicado por MAS82 (71 intervenciones) el 18/02/2019 11:29:29
te agradezco xve, me sirvió de mucho tu ayuda ....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar