在后端session 中存入user user 在vue 中怎么取
时间: 2024-03-10 10:51:26 浏览: 135
在 Vue 中获取后端 session 存储的 user,你需要在前端发送请求到后端,让后端返回 session 中存储的 user 数据,然后在 Vue 组件中接收这个数据并进行处理。具体的代码实现如下:
```javascript
// 在 Vue 组件中发送请求到后端获取 session 中存储的 user 数据
axios.get('/api/user').then(response => {
// 在这里处理后端返回的 user 数据
const user = response.data.user;
console.log(user);
}).catch(error => {
console.error(error);
});
```
在这个代码中,我们使用了 axios 库向后端发送了一个 GET 请求。在后端返回数据后,我们可以在 `then` 回调函数中获取到 user 数据,并对其进行处理。注意,在这里我们假设后端将 user 数据存储在了返回的 `data` 对象中的 `user` 属性中。
另外,为了能够访问后端 API,你需要在 Vue 项目中配置跨域代理。具体的配置方法可以参考 Vue 官方文档中的 [跨域解决方案](https://cli.vuejs.org/zh/config/#devserver-proxy)。
相关问题
get_user_session_ordinary_users(id){ var _this = this; var user_id = {"user_id":id} var url = "~/api/"+_this.group_user_ordinary_users.source_table+"/get_obj?" this.$get(url, user_id, function(res) { if (res.result && res.result.obj) { var arr = [] for (let key in res.result.obj) { arr.push(key) } var arrForm = [] for (let key in _this.form) { arrForm.push(key) } _this.form["ordinary_users"] = id _this.disabledObj['ordinary_users' + '_isDisabled'] = true for (var i=0;i<arr.length;i++){ if (arr[i]!=='examine_state' && arr[i]!=='examine_reply') { for (var j = 0; j < arrForm.length; j++) { if (arr[i] === arrForm[j]) { if (arr[i] !== "ordinary_users") { _this.form[arrForm[j]] = res.result.obj[arr[i]] _this.disabledObj[arrForm[j] + '_isDisabled'] = true break; } else { _this.disabledObj[arrForm[j] + '_isDisabled'] = true } } } } } } }); },
这个函数的作用是获取普通用户的会话,并将其填充到表单中。具体流程如下:
1. 定义变量_this,将this赋值给它,方便在函数中使用。
2. 定义user_id变量,将传入的id作为user_id的属性值。
3. 定义url变量,用于拼接请求接口的路径。
4. 调用Vue.js中的$http方法,向后端发送请求,获取普通用户的会话信息。
5. 如果请求成功,并且返回结果中存在obj属性,则将obj对象中的属性名称存入arr数组中。
6. 定义arrForm数组,将表单中的所有属性名存入其中。
7. 将普通用户的id赋值给表单中的ordinary_users属性,并将其置为不可编辑状态。
8. 遍历arr数组,如果当前属性名不是"examine_state"和"examine_reply",则再次遍历arrForm数组。
9. 如果当前属性名与表单中的属性名相同,则将obj对象中对应的属性值赋值给表单中的属性,并将其置为不可编辑状态。
10. 如果当前属性名是ordinary_users,则将其置为不可编辑状态。
11. 函数执行完毕。
springboot登录功能(已有vue前端代码)
Spring Boot 登录功能通常涉及到以下几个步骤,配合Vue前端:
1. **后端设置**:
- 使用Spring Security进行用户认证:配置WebSecurityConfigurerAdapter,它允许自定义HTTP访问决策,如基于用户名密码的`UsernamePasswordAuthenticationFilter`。
- 创建用户实体(User)和数据访问层(Repository),比如JpaRepository接口,用于存储和查询用户信息。
2. **REST API设计**:
- 创建一个处理用户登录请求的Controller,比如POST `/login`,接收前端传来的用户名和密码,并通过`@PostMapping`注解来处理HTTP POST请求。
- 定义相应的Service,负责校验用户输入并调用Repository验证用户是否存在以及密码是否匹配。
3. **前端交互**:
- Vue前端发送登录请求到`/login` URL,携带必要的表单数据(通常是JSON格式,包含用户名和密码)。
- 在Vue中,可以使用axios等库发起AJAX请求,异步提交登录数据。
- 接收服务器响应,判断登录状态,如果成功则进行后续操作(如跳转到主页),失败则显示错误信息。
4. **会话管理**:
- Spring Security会在登录成功后创建一个Session,将用户的token或其他认证信息存入,前端需要保存这个token以便后续API请求。
5. **安全性考虑**:
- 需要考虑CSRF(Cross-Site Request Forgery)攻击,可以在Spring Boot中启用CSRF保护。
```javascript
// Vue前端示例
methods: {
login() {
axios.post('/api/login', { username: this.username, password: this.password })
.then(response => {
// 存储token,然后跳转到首页
localStorage.setItem('token', response.data.token);
this.$router.push('/dashboard');
})
.catch(error => {
this.errorMessage = error.message;
});
}
}
```
阅读全文