Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Paulo Vinícius Matos

Limitando acesso a alguns itens do menu através do $_SESSION

Recommended Posts

Galera, queria saber se essa seria a forma correta de limita acesso a um item do menu.

 

<?php
session_start();
if(!isset($_SESSION['login'])){
	header("Location: index.php");
}
?>
 <div align="center">
</div>
 <div class="container" >
  <img src="img/topo_sisdecom.png"/>
  <ul id="nav">
    <li>
        <a href="principal.php">Início</a>
	</li>
	<li>
        <a href="#">Origem</a>
		<ul>
			<li>
			 <a href="javascript:getDataFromPages('origem/incluir_origem')">Incluir</a>
			 <?php if($_SESSION['perfil'] == 'a' <a href="javascript:getDataFromPages('origem/editar_origem')">Editar</a>  
			</li>
		</ul>
    </li> 

Nesse caso aí, se $_SESSION['perfil'] == 'a' terá acesso a esse item do menu, caso não seja, não terá. Isso está correto? Se não tiver, como seria?

 

Agradeço a quem puder ajudar!

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara particularmente o certo é trabalhar com Permissões de Acesso e não por tipo de USER.

Neste seu caso você poderia criar assim:

 

<?php
 if($_SESSION['perfil'] === 'admin'):
  //item do menu
 else if ($_SESSION['perfil'] === 'editor'):
   //item do menu
 else:
  //é um usuario normal sem permissoes pra nada
  //cria um url simples
 endif;

Logico que se voce for fazer isso em todos os links terá muito trabalho. Por isso digo que a melhor forma de fazer é criar uma campo na tabela chamado permissoes onde pra cada usuario sera limitado o acesso.

 

Ou deixar as permissoes padroes pra cada usuario com as nomenclaturas que voce ja utiliza.

 

Percebi que voce esta programando PHP Procedural, então cria uma funcão cara:

 

<?php

function getMenu($tipoUser){
  if($_SESSION[$tipoUser] === 'admin'):
  include('menu_admin.php');
 else if ($_SESSION[$tipoUser] === 'editor'):
  include('menu_editor.php');
 else:
  //é um usuario normal sem permissoes pra nada
  include('menu_user.php');
 endif;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.