當前位置:首頁 » 編程語言 » php登錄許可權

php登錄許可權

發布時間: 2022-05-23 01:15:29

php 怎麼設置許可權

常規的思路是,在系統裡面增加角色,每個角色對應很多許可權,每個用戶對應一種角色,用戶登錄後獲取許可權列表,然後在進行操作的時候進行判斷。

❷ ThinkPHP框架簡單的注冊登錄里用戶許可權控制怎麼實現

可以參照mysql的功能許可權的做法,我不知道你提問的是不是這個許可權,舉個例子:
你後台可能有貼子管理,用戶管理等等功能,假設帖子管理使用許可權是1,用戶管理使用許可權是2,沒有許可權是0
新建三個表,一個是管理員表,一個是角色表,一個是管理員和角色關系表
舉兩個角色的例子,一個是普通管理員,一個是超級管理員,當新增超級管理員角色的時候角色的時候,此時超級用戶的許可權應該是12,當新增普通管理員的時候,他只有管理帖子的許可權,那麼他的許可權就是10,這樣角色表裡面就有兩個角色了
接著,新增用戶的時候,例如新增一個用戶叫題主,新增的時候選擇一個角色是普通管理員,寫入資料庫後,順便寫進角色和用戶之間的關系表,這樣就能做到許可權的控制了,也可以細分到編輯,刪除,添加等許可權,不過要保證方法名字一樣。
當然這里只是粗略的說了一下而已,真做起來有挺多問題,嘗試一下就知道了

前台用戶注冊登錄許可權思路也差不多,自己想想,做做就清楚了

還有就是可以google一下RBAC的資料庫設計

❸ php關於分許可權登錄問題

獲取到這個記錄許可權的欄位,判斷為a時重定向到a許可權的主頁,為b時重定向到b許可權的主頁,php重定向的方法是
redirect('跳轉地址')

❹ php 用戶許可權控制如何設計

我個人的設計是將許可權採用如下格式存儲
$rights="發布文章,1,刪除用戶,1";
登陸後將這個許可權字元串存入session,判斷是將這個字元串拆分成以下形式的數組
$rights=array("發布文章"=>1,"刪除用戶"=>1);
$rights["發布文章"]ordie("許可權不夠!");//判斷

❺ php 登陸驗證 許可權限制

你都跳轉了當然傳遞不了,你把
$_SESSION['name']=$admin;
$_SESSION['type']=$qx;
放在echo "<script>alert('登陸成功。。。!');location.href='../tz.php';;</script>";前面

❻ php、HTML、網頁設計,如何設定許可權

比如你登錄後存儲用戶名是用session, 而且鍵名是user

那麼

在網頁2頭部加上如下代碼:

<?php
session_start();
if($_SESSION['user']!='bc'){
echo'<script>alert("無許可權");</script>';
die;
}

其他的同理!

當然, 具體項目這樣做的話, 肯定是不現實的, 那麼多用戶, 都用用戶名來判斷的話, 會整死人的!

所以, 我這個代碼也只是跟著你的思路走而已!

建議: 資料庫再增加一個欄位, 用於記錄該用戶許可權

登錄成功後, 同時取出該用戶的許可權欄位值,並進行儲存( 比如session )

然後在每個頁面用許可權欄位來進行判斷!

❼ 在php網站中用戶許可權

4個表
用戶表(用戶信息表)
許可權表(設置可以訪問的頁面)
角色表(如果申請用戶的時候有多項選擇的時候添加,沒有則不需要)
用戶許可權對應關系表(這個表是用於給每個用戶賦權)

如果用戶訪問頁面的時候,判斷是否存在訪問許可權(查用戶許可權對應關系表),如果有正常訪問,如果沒有頁面跳轉。不過跳到登錄頁面感覺不太合理,你判斷用戶是否有許可權的時候,他應該是登錄狀態,如果再跳到登錄頁面感覺不合理。

判斷是否存在訪問許可權可以封裝成公共類,每個頁面初始化的時候都調用這個公共類。可以通過用戶ID進行判斷。

同是普通用戶,那就加標識,判斷的時候再判斷一下標識,然後根據標識進行頁面跳轉。

以上,希望能幫到你。

❽ php後台多用戶許可權設置及實現思路

adminconfig.php 這是後台系統中所有文件許可權配置。
fun.php 這是一個功能函數
left.php 網站後台根據用戶登錄的ID來載入相對應的功能菜單
op.php 調用adminconfig.php 默認許可權文件
opsava.php 保存用戶許可權成一個php文件
好了我們先來看看 fun.php文件吧。
. 代碼如下:

<?
function findsub($keys ,$userid='abc' ) //此函數重要就是為了調用用戶的許可權信息
{
include('user/'.$userid.'.php');
foreach($bb as $key=>$submenu)
{
foreach($submenu as $subkey=>$menuitem)
{
if( $subkey == $keys )
{
return 1;
}
}
}
}
//下面為生成用戶的php許可權文件
//寫入
function cache_write($name, $var, $values) {
$cachefile = 'op/www.hzhuti.com/'.$name.'.php';
$cachetext = "<?phprn".'$'.$var.'='.arrayeval($values)."rn?>";
if(!swritefile($cachefile, $cachetext))
{
exit("File: $cachefile write error.");
}
}
//數組轉換成字串
function arrayeval($array, $level = 0) {
$space = '';
for($i = 0; $i <= $level; $i++) {
$space .= "t";
}
$evaluate = "Arrayn$space(n";
$comma = $space;
foreach($array as $key => $val) {
$key = is_string($key) ? '''.addcslashes($key, ''\').''' : $key;
$val = !is_array($val) && (!preg_match("/^-?d+$/", $val) || strlen($val) > 12) ? '''.addcslashes($val, ''\').''' : $val;
if(is_array($val)) {
$evaluate .= "$comma$key => ".arrayeval($val, $level + 1);
} else {
$evaluate .= "$comma$key => $val";
}
$comma = ",n$space";
}
$evaluate .= "n$space)";
return $evaluate;
}
//寫入文件
function swritefile($filename, $writetext, $openmod='w') {
if(@$fp = fopen($filename, $openmod)) {
flock($fp, 2);
fwrite($fp, $writetext);
fclose($fp);
return true;
} else {
exit("File: $filename write error.");
return false;
}
}
?>

adminconfig.php 後台許可權配置文件,以一個數組形式保存
. 代碼如下:

<?
$menus = array(
'news' => array(
'caption'=>'資訊管理',
'icon'=>'admin/icon_15.gif',
'sub' => array(
'newsaddtype' => array('caption' => '分類增加', 'url' => 'news/addtype.php'),
'newstypemange' => array('caption' => '分類管理', 'url' => 'news/typemange.php'),
'newsnewsend' => array('caption' => '發布資訊', 'url' => 'news/newsend.php'),
'newsnewmange' => array('caption' => '資訊管理', 'url' => 'news/newmange.php'),
'newscomments' => array('caption' => '評論管理', 'url' => 'news/comments.php'),
),
),
'ask' => array(
'caption'=>'問卷調查',
'icon'=>'admin/icon_15.gif',
'sub' => array(
'voteadmin_subject_add' => array('caption' => '添加投票主題', 'url' => 'vote/admin_subject_add.php'),
'voteadmin_subject' => array('caption' => '管理投票主題', 'url' => 'vote/admin_subject.php'),
'voteadmin_title_add' => array('caption' => '添加投票問題', 'url' => 'vote/admin_title_add.php'),
'voteadmin_title' => array('caption' => '管理投票問題', 'url' => 'vote/admin_title.php'),
'voteadmin_question_add' => array('caption' => '添加投票答案', 'url' => 'vote/admin_question_add.php'),
'voteadmin_question' => array('caption' => '管理投票答案', 'url' => 'vote/admin_question.php'),
'voteadmin_system' => array('caption' => '投票初始配置', 'url' => 'vote/admin_system.php')
),
),
'ads' => array(
'caption'=>'廣告管理',
'icon'=>'admin/icon_15.gif',
'sub' => array(
'ada' => array('caption' => '增加廣告', 'url' => 'ada.php'),
'adm' => array('caption' => '廣告管理', 'url' => 'adm.php'),
'flashadd' => array('caption' => '焦點圖廣告增加', 'url' => 'flashadd.php'),
'flashad' => array('caption' => '焦點圖廣告管理', 'url' => 'flashad.php')
),
),
'mange' => array(
'caption'=>'系統管理員',
'icon'=>'admin/icon_15.gif',
'sub' => array(
'adminuser' => array('caption' => '管理員添加', 'url' => 'adminuser.php'),
'modpass' => array('caption' => '密碼修改', 'url' => 'modpass.php')
),
),
);
?>

left.php文件很簡單就是根據用戶登錄後ID讀出許可權
. 代碼如下:

<?
$userid = $_SESSION['adminid'];
include("op/admincofig.php");
include("op/ www.hzhuti.com /".$userid.".php");
foreach($bb as $key=>$submenu)
{
echo "<tr><td bgcolor="#D879A7" style="line-height:22px;text-align:center;color:#ffffff;"> nr <font color="#EA6A8D" face="Webdings"></font><b>".$menus[$key]['caption']."</b><br /></td></tr> nr <tr ><td bgcolor="F5E8F1">";
foreach($submenu as $subkey=>$menuitem)
{
$tmparr = explode("|",$menuitem);
echo "<font color="#EA6A8D" face="Webdings">4</font><a href='".$tmparr[1]."' target="mainframe">".$tmparr[0]."</a><br> nr";
}
echo "</td></tr> nr ";
}

op.php這個文件就是要調用我們的adminconfig.php文件,然後利用fun.php文件中函數把提供過來的數據保存成數組如圖

點擊保存我們調用了opsava.php 文件,代碼如下
. 代碼如下:

<?
include("op/fun.php");
if( $_POST )
{
$sarray = $_POST ;
cache_write($userid,'bb',$sarray);//寫入緩存
echo "<script>alert('編輯保存成功!');location='op.php?userid=".$userid."';</script>";
}
?>

保存成功後文件內容如
. 代碼如下:

<?php
$bb=Array
(
'member' => Array
(
'user_search' => '會員升級管理|user_search.php'
),
'membercy' => Array
(
'cyuser_search' => '會員升級管理|cyuser_search.php',
'cyuser_search5' => '交友會員|cyuser_search.php?grade=5'
),
'userid' => 7,
'button' => '保存編輯'
)
?>

這樣的話我們的left只要載入 7.php文件就只會顯示這里在的文件,這樣一個基本的後台許可權就完成了。

❾ php後台登陸許可權判斷是用session好還是cookie好

一般是存session,但是如果要設置以後自動登錄就同時保存到cookie,因為cookie是客戶端的
登錄之後一般都是判斷session
安全性session是伺服器端的,相對cookie安全性要好一些,現在都是session和cookie結合使用

❿ 我在做一個PHP登陸界面,我要怎麼樣打許可權代碼

許可權根據一個網站的需要會有比較簡單的,也會有比較復雜的,簡單的給你說下吧。其實許可權就是你的用戶表中的一個欄位,這個欄位需要根據網站設計一下。假如你現在的網站有:view(查看許可權),edit(編輯許可權)和delete(刪除許可權),那麼這個許可權欄位(rights)可以這樣規劃,varchar(255)類型,裡面存儲的數據格式像這樣:view&edit&delete。因為一個用戶可能會有多種許可權所以每種許可權用「&」這個符號隔開。當用$sql="select * from denglu where username='$username'";將用戶的信息拿出來後,不但要把用戶名存入session中,用戶的許可權也要存入session中:$_SESSION['rights']=$row['rights']。當需要判斷用戶許可權時,需要$rights=explode("&",$_SESSION['rights']),將session中存儲的許可權字元串以「&」符號拆分成數組,那麼下一步就是遍歷該數組,判斷當前用戶擁有哪些許可權(查看,編輯或刪除)。大概就是這個思路了,明白了嗎?

熱點內容
優酷視頻緩存設置 發布:2025-02-13 19:04:03 瀏覽:156
如何識別網路配置 發布:2025-02-13 19:04:02 瀏覽:300
android簽名漏洞 發布:2025-02-13 18:59:47 瀏覽:255
解壓高達 發布:2025-02-13 18:58:56 瀏覽:518
蘋果怎麼對備忘錄加密碼 發布:2025-02-13 18:44:19 瀏覽:72
php房產網 發布:2025-02-13 18:18:06 瀏覽:86
源碼資源吧 發布:2025-02-13 18:14:39 瀏覽:80
java培訓價錢 發布:2025-02-13 17:59:33 瀏覽:975
c語言中變數類型 發布:2025-02-13 17:52:20 瀏覽:259
ftp導出報錯 發布:2025-02-13 17:41:20 瀏覽:998