用户授权

建议作者在编辑policy时,可以增加,当不同用户登录时,只显示不同用户的收货地址信息。目前来看,只要是注册了的用户都能看到得所有的收件地址,虽然后面补充了权限,但觉得于实际不是很在友好。我用自己的账户增加的收件地址,肯定是不允许别人看到的。

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

@战狼 1991 刚测试了一遍,你说的问题,不存在。项目处理好了的,检查一下你的代码是不是有问题。

file

file
如题,不同用户,收货地址不同

5年前 评论
讨论数量: 10

@战狼 1991 刚测试了一遍,你说的问题,不存在。项目处理好了的,检查一下你的代码是不是有问题。

file

file
如题,不同用户,收货地址不同

5年前 评论

我加了
@can('own',$address)


@endcan
这样就OK了

5年前 评论

@foreach( $addresses as $address )

{{ $address['id'] }} {{ $address['contact_name'] }} {{ $address['contact_phone'] }} {{ $address['city'] }} {{ $address['full_address'] }} {{ $address['zip'] }}

{{ csrf_field() }} {{ method_field('DELETE') }}

{{--修改--}} {{--删除--}}

                        @endforeach
5年前 评论

@等车的猪
@foreach( $addresses as $address )

{{ $address['id'] }} {{ $address['contact_name'] }} {{ $address['contact_phone'] }} {{ $address['city'] }} {{ $address['full_address'] }} {{ $address['zip'] }}

{{ csrf_field() }} {{ method_field('DELETE') }}

{{--修改--}} {{--删除--}}

                        @endforeach
5年前 评论

@等车的猪 你的判断“还没有收货地址”这块代码,怎么实现的,贴下下代码

5年前 评论

@等车的猪 参照了这个?@if(!count($addresses))

    <td class="text-center" colspan="5">
        <a class="btn btn-primary" href="{{ route('user_addresses.create')}}">
    还没有收货地址请添加收货地址哦!
        </a>
    </td>

@else

5年前 评论

@战狼1991 应该是你代码有问题,项目里面没有这句@can('own',$address) @endcan.
具体可以看下我的源码,自己找一下https://github.com/ixingjue/laravel-shop

5年前 评论

file

UserAddressesController 控制器中 $request->user()->addresses 的这段代码表示用当前登录的用户调用User 模型中的关联方法,怎么可能看到别人的地址呢

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!