Blazor WebAssembly对接Identity Server自动获取登录用户名提交咨询
后端API控制器修改
为避免前端恶意篡改用户名,建议后端接口直接读取服务端的登录用户信息,覆盖前端传递的用户名值,同时给提交接口增加登录校验,修改PostCompanies方法如下:
// POST: api/Companies [Authorize] [HttpPost] public async Task<ActionResult<Companies>> PostCompanies(Companies companies) { // 强制使用服务端获取的登录用户名,覆盖前端传递的值 companies.Username = User.Identity?.Name; _context.Companies.Add(companies); await _context.SaveChangesAsync(); return CreatedAtAction("GetCompanies", new { id = companies.Id }, companies); }
如果你的Companies模型中Username字段标注了[Required],该修改也能避免后端校验失败的问题。
内容的提问来源于stack exchange,提问作者Dimitar Petrov
相关产品推荐
相关产品推荐

