Yotakuの開発ログ(1)、yotaku開発ログ_PHPチュートリアル
yotakuの開発ログ(1)、yotakuの開発ログ
2015-12-18 21:17:46
私は数日間続けて ThinkPHP フレームワークを観察してきましたが、今ではロールベースのユーザー アクセス制御があることがわかりました。
関連するコードは次のとおりです:
データベース
ユーザーテーブル(管理者)
mg_id | mg_name | mg_pwd | mg_time | mg_role_id |
---|---|---|---|---|
0 | クリエイティブ | 123 | 2587413547 | 1 |
1 | ヨタク | 123 | 258744984 | 4 |
許可テーブル
auth_id (権限ID) | auth_name (権限名) | auth_pid (親ID) | auth_c (コントローラ) | auth_a (操作方法) | auth_path (フルパス) | auth_level (権限レベル) ) |
---|---|---|---|---|---|---|
100 | プロダクトセンター | 0 | 」 | 」 | 100 | 0 |
101 | 商品の展示 | 100 | マネージャーコントローラー | ショー | 100-101 | 1 |
キャラクターシート
role_id | role_name | role_auth_ids | role_auth_ac |
---|---|---|---|
0 | サイト所有者 | 1,3,9 | オペレーター - コントローラー、オペレーター - コントローラー、... |
1 | 上級管理者 | 1、2、3、9、12 | オペレーター - コントローラー、オペレーター - コントローラー、... |
CREATE TABLE `sw_role` ( `role_id` smallint(6) unsigned NOT NULL AUTO_INCREMENT, `role_name` varchar(20) NOT NULL COMMENT '角色名称', `role_auth_ids` varchar(128) NOT NULL DEFAULT '' COMMENT '权限id,1,3,..', `role_auth_ac` text COMMENT '控制器2-操作3,控制器1-操作6,...', PRIMARY KEY(`role_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;<br /><br />
数据模拟:
1.权限数据
产品中心(产品展示,最新产品,分类管理,子类管理) 高级管理(用户留言,留言簿,产品订购,文件管理) 系统管理(基本设置,样式管理,首页设置,管理员列表)
<span class="zhushi">顶级权限</span> insert into sw_auth values ( 100,'产品中心',0,'','',100,0 ); insert into sw_auth values ( 101,'高级管理',0,'','',101,0 ); insert into sw_auth values ( 102,'系统管理',0,'','',102,0 ); insert into sw_auth values ( 103,'权限管理',0,'','',103,0 ); <span class="zhushi">次级权限</span> insert into sw_auth values ( 104,'产品展示',100,'Goods','show','100-104',1 ); insert into sw_auth values ( 105,'最新产品',100,'Goods','showlist','100-105',1 ); insert into sw_auth values ( 106,'分类管理',100,'Goods','cate','100-106',1 ); insert into sw_auth values ( 107,'用户留言',101,'Goods','words','101-107',1 ); insert into sw_auth values ( 108,'留言簿', 101,'Goods','wordsbook','101-108',1 ); insert into sw_auth values ( 109,'基本设置',102,'Goods','set','102-109',1 ); insert into sw_auth values ( 110,'样式管理',102,'Goods','css','102-110',1 ); insert into sw_auth values ( 111,'用户列表',103,'Goods','userlist','103-111',1 ); insert into sw_auth values ( 112,'角色管理',103,'Goods','role','103-112',1 ); insert into sw_auth values ( 113,'权限列表',103,'Goods','auth','103-113',1 );
2.角色数据
sw_role 站主 所有权限(103,104,105,106,107,108,109) 管理员 部分权限(104,105,109) 版主 部分权限(103,108)
<span class="zhushi">角色</span> insert into sw_role values (10,'站主','100,101,102,103,104,105,106,107,108,109,110,111,112,113','Goods-show,Goods-showlist,Goods-cate,Goods-words,Goods-wordsbook,Goods-set,Goods-css'); insert into sw_role values (11,'管理员','100,102,104,105,109','Goods-showlist,Goods-cate,Goods-css'); insert into sw_role values (12,'版主','100,101,103,106,108,113','Goods-show,Goods-set');
3.流程说明
Index控制器内 获取用户的角色id,进而获得角色权限 进行判断是否展现数据 Index控制器--->left方法--->left.html模板 Index控制器
//(1)根据用户id获取本身记录信息$mg_id = session('admin_id');
$manager_info = D('Manager')->find($mg_id); $role_id = $manager_info['mg_role_id'];
$role_info = D('Role')->find($role_id); $auth_ids = $role_info['role_auth_ids'];
$auth_infoA = D('Auth')->where("auth_level=0 and auth_id in($auth_ids)")->select();
$auth_infoB = D('Auth')->where("auth_level=1 and auth_id in($auth_ids)")->select();
$this->assign('auth_infoA',$auth_infoA); $this->assign('auth_infoB',$auth_infoB);
$this->assign('auth_info',$auth_info); $this->display();
4.模板 left.html
{foreach $auth_infoA as $k=>$v}background={$smarty.const.ADMIN_IMG_URL}/menu_bt.jpg >{$v.auth_id}) href="javascript:void(0);">{$v.auth_name} |
![]() | {$v2.auth_name} |

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











vbsとはVirtual-BasedSecurityの略で、仮想化によるセキュリティ機能です。ただし、Windows 11 システムでは、デフォルトでオフになっています。この機能を使用する必要があるユーザーにとって、それを有効にする方法がわからない場合があります。幸いなことに、Windows ターミナル経由で (管理者として) これを有効にすることができます。ユーザーの便宜のために、今日の Win11 チュートリアルで詳細な手順を共有します。さらに詳しい情報が必要な場合は、当社の Web サイトをご覧ください。 win11でvbsを再起動するチュートリアル 1. まず、タスクバーの左側にあるスタートメニューを右クリックします。 3. 次に、「bcdedit/sethypervisorlaun」と入力します。

vbs を閉じた後に開きたい場合は、コマンド コードを使用して vbs を開くこともできます。vbs を開く方法を見てみましょう。実際は非常に簡単です。 win11vbs を開く方法: 1. まず、「スタート メニュー」をクリックします。 2. 次に「Windows ターミナル」をクリックします。 3. 次に、「bcdedit/sethypervisorlaunchtypeauto」と入力します。 4. 次に、コンピュータを再起動し、スタート メニューを開き、検索バーで「システム情報」を検索します。 5. 次に、「仮想化ベースのセキュリティ」がオンになっているかどうかを確認します。

Windows 11 VBS チュートリアル: アプリケーションを正常に閉じる方法? Windows 11 オペレーティング システムを毎日使用していると、複数のアプリケーションを同時に終了する必要がある状況に遭遇することがよくあります。場合によっては、習慣的に閉じるボタンをクリックしたり、タスク マネージャーを使用してアプリケーション プロセスを 1 つずつ終了したりすることがあります。ただし、VBS スクリプト (VisualBasicScript) を使用すると、複数のアプリケーションを一度に効率的に終了できるため、操作がよりスムーズで便利になります。 1.とは

Windows Script Host は、スクリプトを実行するための環境をユーザーに提供します。コンピュータにログインするとすぐに実行されるスクリプトもあれば、トリガーされたときに実行されるスクリプトもあります。コンピュータにログインしたときに「指定されたファイルが見つかりません」というエラーが表示された場合、この記事は問題のトラブルシューティングに役立ちます。この問題の理由は、マルウェア攻撃、不適切なインストール、一部のファイルが削除されたなど、さまざまです。ここでは、問題を解決できるさまざまな解決策を紹介しますので、早速始めてみましょう。方法 1 – autorun ユーティリティをダウンロードし、vbs エントリを確認します。 ステップ 1 – この Web サイトにアクセスし、右上隅にあるダウンロード アイコンをクリックして保存します。 ステップ 2 – フォルダーをダウンロードした後、

Microsoft は本日、サービス パイプラインの Win1124H2 バージョンをテストするために、DevChannel で 2 つのサービス アップデートをプッシュしました。これらのアップデートには新しいコンテンツは含まれておらず、システムの機能と安定性を評価するためにのみ提供されています。公式の指示によると、開発チャネルのほとんどのユーザーは累積的な更新プログラム 26080.1300 (KB5037139) を受け取りますが、仮想化ベースのセキュリティ (VBS) 機能が有効になっている場合は、ビルド 26080.1400 (KB5037140) を受け取ります。 Microsoft は、Arm64 デバイスは、VBS が有効になっている場合でも、KB5037139 アップデートのみを受け取ることを強調しています。 IT ホーム 注: 仮想化ベースのセキュリティ (VBS) はハードウェア仮想化と Windo を使用します。

まず第一に、いたずらやいじめのコードを使用すると、他人に不必要な苦痛や危害を与える可能性があることを明確にする必要があります。悪意のあるコードを作成および実装する前に、よく考えてから行うことをお勧めします。そのような行為は無責任で非倫理的です。 VBS 全人コードの使用方法: 1. 目標を理解する: コードを記述する前に、修正する目標を理解する必要があります; 2. 目標を決定します: スクリプトを通じて達成したい効果を決定します; 3.コード: VBScript を使用してスクリプトを作成します; 4. テストコード: まずは安全な環境でテストします; 5. 実装: テストに問題がなければ実装できます。

VBS は、Visual Basic に基づいたスクリプト言語です。VBS の正式名は、「Microsoft Visual Basic Script Edition」です。VBS は比較的シンプルで実行可能なため、VBS ファイルを開く前に、VBS のセキュリティとチャネルの信頼性を確認する必要があります。 。

VBS は win11 のデフォルトでオンになっている機能です。この機能をオンにすると、コンピューターのパフォーマンスが約 30% 低下します。これをオフにすることでのみ、より良いゲーム体験を得ることができます。電源を切りますか? 見てみましょう。 win11vbs を終了する方法: 1. まず、[スタート] メニューをクリックします。 2. 次に、上記で「windows powershell」を検索し、管理者として実行します。 3. 開いたら、「bcdedit/sethypervisorlaunchtypeoff」と入力して Enter キーを押します。 4. 最後の実行が完了して再起動したら、シャットダウンできます。
