我想做一个不大的系统,基础是是个网站,但是特别常用的功能被要求必须使用Windows应用程序,并且都是需要登录的。
这个问题研究了很久,一个网站的网页直接登录和API的JWT身份验证会互相干扰,最多只能生效一个,目前唯一的办法就是WebAPI+MVC+IdentityServer4+需要的窗体应用组合,作为一个小系统来说太复杂了,而且这样吧所有的数据处理交给Api后面的实现也特别麻烦
能不能登录验证、API、MVC合成一个网站,所有的功能都用一个网站实现,只有需要窗体应用程序的时候加上几个API
https://docs.microsoft.com/zh-cn/aspnet/core/security/authorization/limitingidentitybyscheme?view=aspnetcore-3.1
微软官方的文档,可以配置多种认证方式,在Controller或Aciton中通过[Authorize(AuthenticationSchemes = "JwtBearerLogin")]选择身份认证的方式
你都在一个网站了下了,mvc用什么,api就用什么咯。还分个啥哟
MVC用网页登录,API用类似JWT认证,两种认证方式都写上就会报错或者只生效一个
可以合成一个网站,ASP.NET Core 中 Web API 与 MVC 本来就在一起。
Web API 与 MVC合在一起没办法做身份验证啊?
页面登录方式和JWT的登录方式同时写上会报错~~
写一个过滤器试试,mvc web项目和api项目同时调用