1

我想通过 cookie 控制对我的应用程序某些页面的访问。但我只想从一个地方协调这一点。我想在 Layout.cshtml IE 中进行检查,这样所有使用此布局的页面都会自动执行。这样好吗?

编辑:这个应用程序的安全性不是问题。

4

4 回答 4

3

你违反了 MVC 的核心原则之一——永远不要把真正的逻辑放在视图中。

相反,您应该创建一个 ActionFilter。

您还应该弄清楚如何保护 cookie;您可能应该使用 ASP.Net 现有的会员系统

于 2012-12-27T18:53:43.980 回答
1

不,这不好,因为任何人都可以轻松操纵 cookie。

为什么不想使用已经可用的常规身份验证和授权技术?

于 2012-12-27T18:53:35.690 回答
1

使用 cookie 来控制对页面的访问听起来不是一个好主意。您将不得不创建一种方法来保护 cookie,这并不容易。没有它,您的身份验证将很容易被欺骗。

我建议您使用 MVC 4 的内置身份验证和授权机制,该机制已为此目的经过充分测试和构建。这是一篇帮助您入门的文章。

使用 MVC4 的[Authorize][AllowAnonymous]属性,在将站点的某些部分限制为授权用户时,您可以非常灵活。

我发布了一个更冗长的示例,使用上述属性作为另一个 SO question 的答案

于 2012-12-27T18:55:05.373 回答
0

您应该在控制器/页面上使用Authorize属性而不是 cookie,并将页面限制为某些角色并将用户分配给角色。

于 2012-12-27T19:07:30.527 回答