如何使用Vuejs和Laravel获取当前经过身份验证的用户ID?

时间:2018-10-08 13:25:10

标签: javascript php laravel authentication vue.js

我正在使用Vuejs作为前端,我只是想从Laravel获取当前登录的用户ID并显示它。我该怎么办?

5 个答案:

答案 0 :(得分:6)

其他选择是使用与crsf令牌相同的方式。

// header.blade.php
<meta name="user-id" content="{{ Auth::user()->id }}">

// main.js
Vue.prototype.$userId = document.querySelector("meta[name='user-id']").getAttribute('content');

// component

mounted() {
    console.log(this.$userId)
}

答案 1 :(得分:2)

通过多种方式获取身份验证用户ID read more

Auth::user()->id;

Auth::id();

通过vue js

$http.get('api/user').then(response => {
   console.log(response.body);
})

答案 2 :(得分:2)

protected function appendCurrentLeased()
{
    $this->fields['current_leased'] = (!empty($this->data['lease_end'])
        && $this->data['lease_end'] != '0000-00-00')
        && (Carbon::parse($this->data['lease_end'])->gte(Carbon::now()))
            ? 1
            : 0;
}

要进行测试,请尝试使用type =“ text”而不是“ hidden”,您会看到它显示了当前ID

答案 3 :(得分:1)

我需要将数据传递到Header组件,所以我想我可以分享自己的操作方式

<fronend-header :current-user="{{ json_encode(['isLoggedIn'=>auth()->check() ? true : false, 'user'=>auth()->check() ? auth()->user() : null]) }}" />

在vuejs方面

<script>
    export default {
        name: "frontend-header",

        props: {
            currentUser: {
                type: Object,
                required: true
            }
        }
    };
</script>

尚未在登录状态下尝试过,但如有需要,我会做任何必要的更改。

答案 4 :(得分:0)

您好,我尝试了上述解决方案,但由于没有登录用户,因此出现错误。 Uncaught TypeError: Cannot read property 'getAttribute' of null 我添加了@else然后工作了。 @if (Auth::check()) <meta name="user_id" content="{{ Auth::user()->id }}" />@else <meta name="user_id" content="0" /> @endif希望会帮助某人