在 mvc 中使用 cookie
Working with cookie in mvc
我有 2 个不同的 url 可以按如下方式登录应用程序
实习生:- http://localhost:56739/trainee/Login/myclientname
对于管理员:- http://localhost:56739/admin/Login/myclientname
我正在使用以下默认登录实现登录应用程序
var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: true);
我观察到的方法 PasswordSignInAsync
正在为登录用户创建 cookie。
但是我的问题是,如果我使用 trainee
url 登录并尝试访问 admin
url 那么用户将直接登录到管理应用程序没有要求登录,因为 cookie。表示 cookie 在实习生和管理员之间得到 accessed/shared。
我对 admin/trainee
的看法不同,但它们在具有以下文件夹结构的同一项目中。
http://i.stack.imgur.com/HyOhW.png
当我在实习生和管理员之间切换时在布局页面中检查以下代码行时,尽管 admin
仍未登录到应用程序,但此 IsAuthenticated
成为现实,反之亦然。
@if (User.Identity.IsAuthenticated)
我正在使用身份框架进行用户身份验证。
如何在 admin/trainee
之间切换时维护单独的 cookie?
感谢您的帮助!
表单身份验证 cookie 在整个应用程序中共享。不同的观点没有任何意义。
你有两个选择
1) 将它们分成两个应用程序,因此不再自动共享 cookie。
2) 按照评论中的建议,为管理员帐户分配角色或声明,然后在授权属性或策略中进行检查。
我有 2 个不同的 url 可以按如下方式登录应用程序
实习生:- http://localhost:56739/trainee/Login/myclientname
对于管理员:- http://localhost:56739/admin/Login/myclientname
我正在使用以下默认登录实现登录应用程序
var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: true);
我观察到的方法 PasswordSignInAsync
正在为登录用户创建 cookie。
但是我的问题是,如果我使用 trainee
url 登录并尝试访问 admin
url 那么用户将直接登录到管理应用程序没有要求登录,因为 cookie。表示 cookie 在实习生和管理员之间得到 accessed/shared。
我对 admin/trainee
的看法不同,但它们在具有以下文件夹结构的同一项目中。
http://i.stack.imgur.com/HyOhW.png
当我在实习生和管理员之间切换时在布局页面中检查以下代码行时,尽管 admin
仍未登录到应用程序,但此 IsAuthenticated
成为现实,反之亦然。
@if (User.Identity.IsAuthenticated)
我正在使用身份框架进行用户身份验证。
如何在 admin/trainee
之间切换时维护单独的 cookie?
感谢您的帮助!
表单身份验证 cookie 在整个应用程序中共享。不同的观点没有任何意义。
你有两个选择
1) 将它们分成两个应用程序,因此不再自动共享 cookie。
2) 按照评论中的建议,为管理员帐户分配角色或声明,然后在授权属性或策略中进行检查。