用户登录

服务的 system ,系统资源里面的 connect 这个资源,可以让我们获取到当前登录的用户的一些相关的信息,用户名,上次登录的时间,区域的设置等等 ...

注意这个当前的登录用户并不是所有的登录到网站上的用户,而是用户自己,因为我现在使用的是王皓这个用户的身份登录到了网站上,所以发送请求返回来的信息应该就是王皓这个用户。

先打开 结构,服务,编辑一下这个 myservice .. 在 资源 这里,找到 system 区域,先勾选一下 connect 这个资源 ... 这个 connect 就相当于是用服务获取当前登录用户的功能。

我们可以先用它来获取到匿名用户的相关信息 ... 可以先退出当前的登录 ... 或者,可以打开 编辑 选项卡 ... 去掉 身份验证 下面的 会话认证 ... 这样服务不会验证发送请求的用户的身份,也就是说所有的请求都会通过匿名用户的身份完成的 ...

代码

打开应用的项目的 index.js 这个文件 ... 下面,我们可以通过代码去发送这个请求 ...

可以基于前面视频里的代码去修改一下 ... 用的是 jQuery 的 ajax 方法 ... 修改一下请求的地址 ... http://127.0.0.1/drupal/myservice/system/connect

请求的类型,换成 POST ... 要求响应的类型还是 json .. 失败的时候去执行 onError 这个函数 ... 成功的话,会把返回来的数据输出到控制台上 ..

测试

保存 ... 回到浏览器 ... 刷新 ... 在控制台上,你会看到返回来的东西 ... session id ... session name ...

打开 user 这个对象 ... roles ... 角色 ... 在这里,你会发现,是 anonymous user ... 也就是匿名用户 ... 因为之前我们取消勾选了服务的 会话验证 这个选项 ... 所以,所有的请求都会使用匿名用户的身份。

回到 Drupal ,找到 myservice 服务 ... 再勾选一下这个 会话验证 选项 ... 保存

再回到浏览器 ... 刷新 ... 这次会给我们返回一个 401 验证未通过的错误... 应该是 CSRF验证失败了 .. 这是因为,这个请求需要验证用户的身份,像这样需要验证用户身份证的请求,为了防止身份的欺诈都需要先去请求一个 CSRF Token ...

在下面的视频里,我们再去看一下怎么样请求这个 CSRF Token ...

通过服务获取到当前登录的用户信息《 Drupal Services 整合外部应用 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点