登录 3种类型的账号:管理员、老师、学生, 均使用该接口进行登录。 前端发送的登录请求中包含账号、密码。 后端接收后,对账号密码的正确性进行校验。 CIMP系统使用session会话机制。 如果校验通过,服务端在响应消息头Set-Cookie 中存入sessionid ,该用户的后续请求头Cookie中必须携带sessionid。 请求 请求头 POST /api/sign Content-Type: application/json 消息体 为json格式 { "action" : "signin", "username" : "xxxx", "password" : "yyyy" } 响应 响应头 200 OK Content-Type: application/json Set-Cookie: sessionid=<sessionid数值> 消息体 如果校验通过,返回消息如下 { "ret": 0, "usertype":1, "userid":1, "realname":"白月黑羽", } ret 为 0 表示登录成功 usertype 是用户类型。 1:管理员,2000:学生,3000:老师 userid 是用户在系统中的id realname 是用户的姓名 登录成功后, 服务端在消息头Set-Cookie 中存入sessionid ,该用户的后续请求头Cookie中必须携带sessionid。 如果登录校验失败,返回失败的原因,示例如下 { "ret": 1, "msg": "用户名或者密码错误" } ret 不为 0 表示登录失败, msg字段描述登录失败的原因 测试文档中,如何提取信息做接口测试
时间: 2023-07-19 22:50:07 浏览: 61
测试文档中提供了登录接口的请求和响应格式,可以按照以下步骤进行接口测试:
1. 使用测试工具(如Postman)发送一个登录请求,请求格式按照文档中给出的格式填写,包括用户名和密码,请求方式为POST。
2. 检查响应头的Content-Type是否为application/json,检查响应状态码是否为200。
3. 检查响应体中的ret字段是否为0,表示登录成功,如果不为0,则登录失败,需要检查响应体中的msg字段,查看失败原因。
4. 检查响应头中是否包含Set-Cookie字段,如果包含,提取其中的sessionid值,作为后续请求的Cookie头中的值。
5. 使用刚才提取的sessionid值,在后续的请求中添加Cookie头,格式为"Cookie: sessionid=<提取的sessionid值>"。
6. 重复步骤1~5,以确保登录成功,并且后续请求可以使用正确的sessionid值。
相关问题
登录过程中,前端需要将用户输入的账号密码通过POST请求发送给后端控制层UsersController的login方法。后端控制层接收请求后,
首先要进行账号密码的验证。验证通过后,可以生成一个token作为登录凭证,返回给前端。前端可以将这个token保存在本地,以便下次请求时携带该token,进行身份认证。后端控制层可以将该token存储在数据库中,以便进行后续的身份验证。在生成token的过程中,可以使用一些加密算法来保证token的安全性。同时,为了防止CSRF攻击,可以在生成token时加入一些随机字符串,以增加token的复杂度。
如何实现用户登录后跳转其他界面并且头像与账号一直保持在顶部,还有不断从其他页面发送请求
要实现用户登录后跳转其他界面并且头像与账号一直保持在顶部,并且在其他页面发送请求,可以使用一些技术,比如:
1. 采用前后端分离的架构,前端使用 React 或 Vue 框架进行开发,后端使用 Node.js 进行开发,通过 API 进行通信。
2. 使用 JSON Web Token(JWT)进行用户认证和授权,将用户信息(包括头像、账号等)加密在 JWT 中,发送给前端,在前端存储 JWT,并在每个请求中携带 JWT,后端进行鉴权,如果合法则放行请求。
3. 使用 React Router 或 Vue Router 进行路由管理,将登录页面和其他页面进行路由划分,在用户登录成功后,使用编程式导航或者通过 Route 组件的 Redirect 属性进行跳转到其他页面。
4. 在前端页面中,将头像和账号信息添加到布局组件中,通过 props 传递给子组件,保持显示在顶部。
5. 在其他页面中,通过 axios 或 fetch 等进行请求,携带 JWT,后端进行鉴权,并返回响应结果。
需要注意的是,要保证用户登录状态的一致性,需要在前端进行定期刷新 JWT,以及在后端进行有效期的校验和管理。同时,需要对请求进行安全性保护,防止 CSRF、XSS 等攻击。