【问题标题】:How to set different CookiePath for each area in ASP.NET MVC如何在 ASP.NET MVC 中为每个区域设置不同的 CookiePath
【发布时间】:2017-07-25 12:32:17
【问题描述】:

正如安全指南建议的那样,CookiePath 必须从默认值“/”更改为应用程序的特定文件夹,但是当我使用 ASP.NET MVC 的区域概念时会导致问题,那么我该如何设置不同的CookiePath 每个区域。

PS。我使用 ASP.NET Identity 作为会员

【问题讨论】:

    标签: asp.net-mvc security asp.net-identity


    【解决方案1】:

    检查一下:

    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            ControllerContext.HttpContext.Response.Cookies.Add(
                 new HttpCookie("test", "hello") { Path = @"/Admin", 
                 Expires = DateTime.Now.AddDays(1)});
    
            return RedirectToAction("About", "Admin");
        }
    }
    
    public class AdminController : Controller
    {
        public ActionResult About()
        {
            var cookieCount = HttpContext.Request.Cookies.Count;
            return View();
        }
    }
    

    希望这有帮助:)

    【讨论】:

    【解决方案2】:

    按照安全指南的建议

    他们在谈论什么安全准则和上下文?这是我第一次听说这个指南,它在 Asp.Net Identity 的当前状态下没有意义。

    您可能希望为每个区域实现不同的安全性,但这是通过角色完成的,而不是通过每个路径的不同 cookie。

    【讨论】:

    • 是的,必须由角色实现,但是我们需要为不同区域的cookie设置不同的路径
    • @NiklausWirth 但为什么呢?
    猜你喜欢
    • 2011-01-20
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-29
    • 2011-03-31
    • 2012-09-21
    • 2020-07-14
    相关资源
    最近更新 更多