gpt4 book ai didi

asp.net-mvc-2 - 使用 web.config 文件在 ASP.NET MVC 2 中授权

转载 作者:行者123 更新时间:2023-12-04 23:09:32 24 4
gpt4 key购买 nike

我有一个 ASP.MVC 2 网页,我的身份验证是这样完成的:

FormsAuthentication.SetAuthCookie(user.UserName, false);
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, "fooPage" + user.UserName, DateTime.Now, DateTime.Now.AddMinutes(10), false, String.Empty);

HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(authTicket));
Response.Cookies.Add(cookie);

现在我想以一种只有在用户通过身份验证才能访问的方式设置我的 web.config。我的 web.config 设置如下:
<configuration>  
<system.web>
<authentication mode="Forms">
<forms loginUrl="~/Account/LogIn" timeout="2880"/> //all users can access my web site
</authentication>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
<location path="~/Views/Sales/Index.aspx">
<system.web>
<authorization>
<deny users="?"/> //only authenticated users can access this page
</authorization>
</system.web>
</location>
</configuration>

... 但是这个 工作。

我究竟做错了什么?

最佳答案

停止。 如果您尝试在 Web.config 中使用 来保护 MVC 应用程序,最好的情况是给自己带来麻烦,而最坏的情况是在您的应用程序中打开一个巨大的安全漏洞。

正如 Jon 所暗示的那样,使用 [Authorize] 或其他正确 Hook MVC 管道的东西(无论是声明式的还是编程式的)是唯一正确的方法。产品团队在 http://blogs.msdn.com/b/rickandy/archive/2010/08/24/securing-your-mvc-application.aspx 上更详细地讨论了这个问题。 .

关于asp.net-mvc-2 - 使用 web.config 文件在 ASP.NET MVC 2 中授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3869892/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com