MVC 5 身份验证
Posted
技术标签:
【中文标题】MVC 5 身份验证【英文标题】:MVC 5 Authentication 【发布时间】:2015-07-02 04:34:53 【问题描述】:我有一个带有不记名令牌身份验证的 Web API 2,其中外部站点在我的 api 中进行身份验证并通过在请求标头中发送令牌来发出请求,但我也有一个 MVC 5 网站,其中身份验证应该是自动的这个网站,Web API 将有一个重定向到这个网站的方法,它应该已经打开了认证,这个网站将只有一个客户端,web api,并且用户来自 web api 的认证。
如何自动验证网站? 我想了两种不同的方法来解决这个问题:
-
使用身份验证 cookie,我在其中执行从 web api 到传递登录信息的站点的重定向(放置在 web.config 中,带有用户和密码,或一种密钥),然后,网站执行身份验证并为浏览器设置 cookie。
在 web api 和网站中使用不记名身份验证(在 web.config 上使用相同的机器密钥),当 web api 重定向到网站时,它会传递为客户端生成的不记名令牌,但是当用户导航时在网站上,我需要一直在标头中传递这个令牌,我认为在 web api 和网站之间共享这个令牌不是一个好主意,当导航结束时,流程需要返回web api,并且必须再次进行身份验证或将相同的令牌传递给 web api。
以下哪种方法最正确?还是有其他方法可以解决这个问题?
【问题讨论】:
【参考方案1】:我会选择选项 2,您可以使用令牌身份验证和您需要识别传入请求来自您的 API 的声明。它是无状态的、简单的,您不需要在 url 之间传递敏感数据
【讨论】:
以上是关于MVC 5 身份验证的主要内容,如果未能解决你的问题,请参考以下文章
如何让 mvc 管道在 .net core 5 中对 oidc 进行身份验证
WebGrid MVC 5 - 显示基于身份验证和授权的操作按钮