重叠用户在两个项目中登录ASP.NET身份
-
21-12-2019 - |
题
我有一个问题,我无法在ASP.NET身份中理解
应用以下步骤
- 创建两个空的Web项目,他们有名字:
- webapplication1
- webApplication2
- 安装包“ microsoft asp.net标识样本2.0.0-beta2 ”在每个项目上
- 创建两个SQL数据库具有以下名称:
- webdatabase1
- webdatabase2
- 添加用户在 webapplication1 中有名称“ user1 ”
- 添加用户在 webapplication2 中有名称“ user2 ”
- 在同时运行两个项目。
我的问题是当我在“ webapplication1 ”中登录“ user1 ”时登录时
我发现 webapplication2 用 user1 记录。
尽管每个项目都有单独的数据库。
也 no user1 在 webapplication2 中。
是什么问题?
请原谅我的英语不好!
解决方案
当用户签名到该站点时,auth中间件将登录的用户信息(包括ID,Name和Roles)序列化为加密的Auth Cookie。在随后的访问中,框架简单地解密并读取该信息而不击中数据库。
缺省情况下,相同的cookie名称遍布ASP.NET应用程序。你看到的发生是webapp1设置cookie,webapp2读取它。这是因为它们在同一个域(或localhost)上,并且cookie在同一域的资源中共享。
尝试在应用程序中更改cookie名称...
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
// ...
CookieName = "WebApp1AuthCookie"
});
. 不隶属于 StackOverflow