0

我有一个面向公共用户的网站,但也有一个大约 10 页的管理部分,我只需要为网站管理员保护它。

如果我在这 10 个页面上实施基于表单的身份验证,它是否也会传播到网站的公共部分?即web.config 中的更改。

我希望我的网站 3 个安全级别可用于:

  1. 所有公共用户(未注册)
  2. 注册公众用户
  3. 网站管理员

我正在查看此示例(http://support.microsoft.com/kb/301240),但它似乎关闭了整个应用程序的公共视图!?!

敬茶

4

4 回答 4

1

您可以完全避免麻烦并在单个 Web 应用程序项目中为管理员和公共创建单独的网站。

于 2012-12-07T11:02:26.990 回答
0

我认为根据用户角色允许/拒绝权限会更容易。

例如,如果您需要允许 admin 角色下的所有用户并限制其他用户。

 <authorization>
    <allow roles="Admin" />
     <deny users="*" />
 </authorization>

阅读一下

使用角色管理授权

在 ASP.NET 中使用角色管理器

为用户分配角色

于 2012-12-07T12:27:25.353 回答
0

基于表单的身份验证使您可以控制受保护的内容。因此,当您说“看起来它关闭了整个应用程序的公共视图”时,这是不正确的。

您可以仅授予管理员用户访问 10 个管理页面的权限,并授予所有用户访问公共页面的权限。

在示例中,您具有以下内容:

<authorization>
   <deny users ="?" />
   <allow users = "*" />
</authorization>

如果它位于包含您的管理页面的文件夹中,则不允许匿名用户访问这些页面。如果您将其放在根文件夹中,则匿名用户将无法访问您的任何站点。

于 2012-12-07T10:45:07.767 回答
0

通过网站管理工具,您可以设置用户、角色以及允许他们访问哪些页面,包括匿名用户,而无需进入代码。

这是 MSDN 工具概述:http: //msdn.microsoft.com/en-us/library/yy40ytx0%28v=VS.100%29.aspx

于 2013-02-20T14:14:21.073 回答