ASP.NET调试环境中的Localhost cookie

时间:2012-11-22 10:03:28

标签: asp.net authentication cookies

我正在同时在几个asp.net网站上工作。所有这些都使用基于cookie(开箱即用)的身份验证机制。当本地主机:4587上的网站在VS中被困住时,我已经以“管理员”用户身份登录并进行了一些测试。

第二天,我打开了在localhost上运行的调试的不同项目。当我尝试访问标记有Authorization atribute的MVC控制器操作时,系统假定当前用户是“admin”并且正在根据自定义提供程序查找它的角色。但在这个网站上,甚至没有一个名为“admin”的用户。如何确保来自其他站点的cookie不能进入ASP.NET MVC应用程序中的角色检查?

2 个答案:

答案 0 :(得分:1)

我建议在测试后删除所有localhost cookie总是一个好习惯。如此处所述:asp.net cookies, authentication and session timeouts,您还可以向身份验证cookie添加详细信息,以确保在会话后将其丢弃,即关闭浏览器或区分两个站点时。避免cookie'冲突'的另一种方法是使用两种不同的浏览器:一种是Chrome,另一种是Comodo Dragon或Chromium。

答案 1 :(得分:1)

在每个应用程序中为表单标记添加唯一名称

<authentication mode="Forms">
  <forms name="myVeryUniqueNameForApp1" />
</authentication>

<authentication mode="Forms">
  <forms name="myCompletelyUniqueNameForApp2" />
</authentication>