6、然后,我们可以看到,token的Auth的按钮也显示在了页面上
接下来我们试一下这个功能是否完善了。首先我们在Base的LearnController中添加以下代码,用于获取用户的登录id
/// <summary> /// 登录用户的用户id /// </summary> protected string userid { get { return HttpContext.User.Identity.IsAuthenticated ? HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value : ""; } }然后我们在UserController中添加以下代码来获取User信息:
[HttpPost] [Route("init")] [Authorize] public async Task<ResultModel<UserDto>> Init() { var user =await _userAppServices.get_userbyuserid(new Guid(userid)); return new ResultModel<UserDto>(200, "", user); }然后调试项目,点击Authorize---》输入Login接口获取到的token--》Authorize,如下图
测试user/init接口,如下图,表示我们的token的授权与解析相应的用户id是正常的
最后有一点要注意的是,由于xml文件大家都是使用的同一样的,因此建议是不能签入的,应该是加入ignorelist里面,由jenkins/gitlab等自动打包的工具进行生成统一的xml,开发人员只要进行代码相关的签入就行了。
下一章介绍Auttomapper与validation的使用方法,这里使用的是官方的validation来进行校验。虽然FluentValidation更加强大,但是个人觉得validation已经能满足绝大部分需求了,如果有进一步的判断,可以直接写有controller里面,没必要为了很小一部分的需求而引入一个更复杂的组件。这个各位可以根据自己的需求进行判断