问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

禁用网卡提示您没有足够的权限配置此连接的属性,请与管理员联系.

发布网友 发布时间:2022-04-05 23:30

我来回答

3个回答

懂视网 时间:2022-04-06 03:52

下面由Laravel教程栏目给大家介绍如何给Laravel普通用户提权,希望对需要的朋友有所帮助!

引言

系统内使用User表记录用户的属性,各自维护用户自身的关联数据。 有一些前端页面也会需要分别根据身份展示不同级别的内容。

本期为大家说一说给普通用户提权为管理员

数据准备

我们希望在users表内指定用户的身份,比如任命为管理员,则可以展示更多的数据资源。

我们在users表内追加一个字段 is_admin 用于标记用户的管理员身份,使用命令创建迁移文件:

php artisan make:migration add_is_admin_to_user_table --table=users复制代码

首先填充 up 方法用于迁移执行的逻辑:

public function up(){
 Schema::table('users', function(Blueprint $table) {
 	$table->boolean('is_admin')->default(false);
 });
}

如果迁移失败,进行回滚使用的 down 方法:

public function down() 
{
 Schema::table('users', function(Blueprint $table) {
 	$table->dropColumn('is_admin');
 }
}

完成编辑后保存,并执行迁移指令:

php artisan migrate复制代码

为了测试,我们使用mysql客户端直接连接数据库,并手动指定一个管理员,使用下面的SQL语句:

update users set is_admin = true where email = 'admin@admin.com';

路由

为了区别于普通用户的前端页面,我们使用新的命名空间 Admin 放置管理员相关的代码。首先创建控制器:

php artisan make:controller Admin/UsersController复制代码

然后添加路由,编辑 routes/web.php 文件并添加以下内容:

Route::group(['prefix' => 'admin', 'namespace' => 'Admin'], function(){
	Route::resource('user', 'UsersController');
});

注意我们使用了两个关键的参数,

  • prefix : 也就是该组内的所有路由地址,使用 prefix 最为前缀
  • namespace : 命名空间,指定该组内所有的控制器,均位于该命名空间下。
  • 控制器

    上一节的路由我们定义的是资源路由,使用restful风格声明。下面创建 app/Http/Controllers/admin/UsersController.php 文件,并实现 index 方法。代码内容如下:

    public function index(){
     $users = User::orderBy('created_at', 'desc')->get(); return view('admin.users.index')->withUsers($users);
    }

    我们还需要一个视图文件,承载上述的数据。创建目录 resources/views/admin/users/index.blade.php,简单创建一个模板:

    <h1>Registered Users</h1>
    <ul>
     @forelse ($users as $user)
     	<li>{{ $user->name }} ({{ $user->email }})</li>
     @empty
     	<li>No registered users</li>
     @endforelse
    </ul>

    展示的是所有用户的信息。这显然必须拥有较高的权限。所以我们在给数据之前,要识别用户是否管理员:

    if (Auth::user()->is_admin != true) {	return redirect()->route('home')->withMessage('Access denied!');
    }

    如果不是就路由到首页。这样的判断,如果页面多了起来之后,每次都要在控制器内敲写,着实麻烦。所以,必须使用更靠前的验证,也就是 中间件!

    中间件

    中间件可以注册给路由文件,在命中路由后,调用中间件进行身份识别,这是不错的选择。

    使用命令行创建中间件文件:

    php artisan make:middleware AdminAuthentication复制代码

    生成的文件位于 app/Http/Middleware/ 目录下,编辑 AdminAuthentication 文件,并实现代码逻辑:

    namespace AppHttpMiddleware;use Closure;use IlluminateContractsAuthGuard;use IlluminateHttpRedirectResponse;class AdminAuthentication { public function handle($request, Closure $next) { 	if ($request->user())
     	{ 		if ($request->user()->is_admin == true)
     		{ 			return $next($request);
     		}
     	} // 验证不通过
     return new RedirectResponse(url('/'));
     }
    }

    然后在 app/Http/Kernel.php 文件内注册该中间件,并命名:

    protected $routeMiddleware = [	'admin' => AppHttpMiddlewareAdminAuthentication::class,
    ];复制代码

    修改 路由 一节中声明的路由组,引入中间件:

    Route::group(
    [ 'prefix' => 'admin', 'namespace' => 'admin', 'middleware' => 'admin'], function(){
    	Route::resource('users', 'UsersController');
    });

    写在最后

    本文又是一个功能齐全却又mini小巧的短文,详细阐述了如何为users表添加管理员功能。

    通过注册路由到中间件的使用,又一次体验了laravel各个组件协同作用的能力!

    热心网友 时间:2022-04-06 01:00

    你用管理员登陆就可以了。估计是在组策略里面设置了拒绝普通用户的提权请求,要不然会弹出UAC窗口提示你确认提权(可能需要管理员密码)的。

    热心网友 时间:2022-04-06 02:18

    这是网卡驱动问题,删除重新安装驱动就好了。
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    大连市有几个嘉汇学校 平躺睡觉胸口有压迫感怎么回事 ...手机推荐!除了小米,外形大气好看,请各位大侠推荐,不胜感激!明天就要... 各位大侠们小人想买2000以下的手机(超出一点没关系)主要是玩游戏,别跟... 各位大侠推荐一部洛机亚手机,要支持GPS,是全触屏手机,价格在2000... ...手机,电池耐用的,速度可以的,请各位大侠推荐一款呗!最好是安卓系统... 想要买一部两千到三千的智能手机,希望各位大侠推荐一下 天干地支六十甲子六十甲子 60甲子有多少个组合 买什么实物金 win7管理员有密码,其他用户如何提升到管理员权限,不要删除管理员密码的。 怎样用administrator管理员给guest用户权限 怎样在受权限的用户下提权为系统管理员 管理员用户被自己关了怎么用一个普通用户获取管理员权限 如何将一个普通用户提权为系统管理员?? python怎么实现windows终端的颜色 如何用python实现颜色空间转换 怎样用python同时设置画笔和填充颜色 python颜色代码是什么? PHP怎么把一个数组里string为零的去除 怎么把数组中的空值去掉 PHP unset怎么去除数组里的值 php 删除多维数组指定元素 PHP代码实现1)删除整个数组2)删除数组中指定的元素3)删除重复的元素? PHP代码实现:1)删除整个数组2)删除数组中指定的元素3)删除重复的元素? 西部数码建站助手gd 扩展扩展怎样开启 pphp开发中Windows下配置GD库,我按你前面的回答做,发现php安装路径&#47;ext文件夹下的php_gd2.dll打不开? php7 gd库安装需要依赖哪些包 linux系统如何让php使用GD库函数 phpstudy安装imagick扩展库怎么装 linux其他用户不能gedit 急!!!如何获得管理员权限对文件进行操作 (C#) linux下权限问题,如何让无root管理员权限的用户执行需root权限执行的脚本文件 WIN7怎么转移一个普通用户的的所有设置 配置 文件到超级管理员用户 大家装好win7后是用默认的administrator还是重新建立账户? linux 下怎么将普通用户切换到管理员用户 单位电脑如何查看管理员密码或者把普通用户权限升级为管理员 不是管理员怎样在电脑上装软件 在公司,我的电脑没有管理员权限,想更新一些软件,也搞不了。 Xp系统受限用户如何提权 这样获得管理员权限? Python正则表达式的几种匹配方法 python如何用正则表达式匹配两个字符串之间的字符串中的某个字符并进行替换? 在PYTHON中如何匹配一个存在多个相同的正则表达式模式的字符串中的所有正则表达式模式? python正则表达式匹配? python 使用正则表达式 匹配“非长字符串” python正则表达式,这样的字符串怎么匹配? python 怎样用正则表达式匹配不包含某些字符的字符串 python中的正则表达式匹配的问题? python如何用正则匹配字符串后到行尾的所有字符 Python正则表达式的几种匹配用法