ABP框架 获取当前正在登录的用户Id

从AbpSession中获取当前正在登录的用户Id

在控制器中实现获取的方法,在JS中通过ajax获取

下面我实现的是获取当前登录页面的用户Id,在删除用户时防止把自己删除掉,就需要判断一下选中的Id是否是当前正在登录的Id

控制器代码:AbpSession中的UserId是可以为空的,但我们其实获取的时候肯定不为空

 [HttpPost]
        public long? GetCurrentUserId()
        {
            long? id = _abpSession.GetUserId();
            return id;
        }

JS代码:

 //删除用户,在这里要判断要删除的用户是否是当前正在登录的账号,如果是,则不能删除,否则,可以删除
            function deleteUser(data) {
                var userid;
                $.ajax({
                    url: "/Users/GetCurrentUserId",

                    type: 'POST',
                    contentType: 'application/html',
                    success: function (content) {
                        userid = content.result;
                    },

                    error: function (e) { }
                });
                if (data.id != userid) {
                    parent.layer.confirm('确定删除吗?', function (index) {
                        var targetUrl = "/Users/DeleteUser";
                        abp.ajax({
                            url: targetUrl,
                            data: JSON.stringify(data)
                        }).done(function (data) {
                            if (data.code == 200) {
                                abp.notify.success(data.msg);
                                loadUserList();
                            }
                        }).fail(function (jqXHR) {
                            parent.layer.msg(jqXHR.message, { icon: 5 });
                        }).always(function () {
                            parent.layer.close(index);
                        });
                    });
                }
                else {
                    return parent.layer.msg('不能删除当前正在登录用户!');
                }


            };

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章