laravel5.1 acl教程
按照上面的教程,用户表使用默认的user表的话,一切都是很顺利的,可是我最终的目的是后台的admin表进行权限管理,于是把教程里的user都换成了admin,这时候出了问题,在blade中@can('edit-post')和@can('delete-post')全部没通过
科美智能企业网站管理系统专业版是以asp+access进行开发的企业网站系统,软件还包含了全站生成静态页面的功能。 特别提醒: 1.切勿用那些调试软件调试(比如:aspweb、NETBOX、小旋风等),如果您想本地运行源码,请参照赠品中的环境搭建教程。 2.切勿用免费空间(试用空间可以),因为免费空间一般没有写入权限,且会挂广告破坏程序,程序无法正常运行。 3.后台添加内容后,如果有的前台
108
<code> $admin = Auth::guard('admin')->user();
if($admin->can('edit-post')){
echo 1;
}</code>通过,成功输出1,yeah!
于是我就想到了会不会是模版中的can是取的user表?于是我又把auth.php中的默认guard改成admin
<code> 'defaults' => [
'guard' => 'admin',
'passwords' => 'users',
],</code>成功!yeah!
好了,问题来了,我不改auth.php中guard的默认值,怎样可以在模版中让can判断的是admin表的用户?
laravel5.1 acl教程
按照上面的教程,用户表使用默认的user表的话,一切都是很顺利的,可是我最终的目的是后台的admin表进行权限管理,于是把教程里的user都换成了admin,这时候出了问题,在blade中@can('edit-post')和@can('delete-post')全部没通过
<code> $admin = Auth::guard('admin')->user();
if($admin->can('edit-post')){
echo 1;
}</code>通过,成功输出1,yeah!
于是我就想到了会不会是模版中的can是取的user表?于是我又把auth.php中的默认guard改成admin
<code> 'defaults' => [
'guard' => 'admin',
'passwords' => 'users',
],</code>成功!yeah!
好了,问题来了,我不改auth.php中guard的默认值,怎样可以在模版中让can判断的是admin表的用户?
看了下源码,似乎并不支持!!!
<code> /**
* Compile the can statements into valid PHP.
*
* @param string $expression
* @return string
*/
protected function compileCan($expression)
{
return "<?php if (Gate::check{$expression}): ?>";
}</code><code> /**
* Determine if the given ability should be granted for the current user.
*
* @param string $ability
* @param array|mixed $arguments
* @return bool
*/
public function check($ability, $arguments = [])
{
try {
$result = $this->raw($ability, $arguments);
} catch (AuthorizationException $e) {
return false;
}
return (bool) $result;
}
</code>
模板里可以这样写,只不过很长,我把if里边的存到一个公用函数中了
<code>@if(Gate::forUser(Auth::guard('admin')->user())->allows('$priv'))
@endif
</code>
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号