ASP.Net;如何在使用基本身份验证时忽略或删除表单身份验证cookie?

时间:2015-12-22 14:37:34

标签: asp.net cookies forms-authentication basic-authentication

我有一个网络表单asp.net网站,我正在尝试使用API​​。 我已经设法在Global.ASAX Application_AuthenticateRequest()中添加一些代码来发现从API开始的URL,这样API请求就可以正确地路由到Web API 2控制器。

我在Application_AuthenticateRequest()中创建了一个安全主体,并使用[Authorize]属性来阻止对API类的未经身份验证的访问。

我认为cookie仍在使用中。一旦我通过浏览器质询验证了一个API请求,我就不会再次受到质疑了。我必须关闭浏览器以强制浏览器删除cookie,并且只在浏览器的新实例上才能获得挑战。

这不是一个大问题,但我应该知道并且能够控制。我知道这只是因为我默认使用Forms Auth,因为它最初是一个表单项目,并且正在变换为表单+ basic。

如何才能获得基本身份验证流程,以便(有条件地)删除或忽略表单Cookie详细信息?

IDE是VisualStudio 2015社区,项目是ASP.Net + WebAPI2,目标是.Net 4.6.1,在IIS 7.5下运行,在Win Server 2008 R2上

1 个答案:

答案 0 :(得分:0)

最简单的方法是通过web.config中的authentication.form.timeout。您可以设置一个小值来使cookie过期。否则,您必须实施身份验证筛选器。 This article应该会有帮助。