【问题标题】:How to secure webpages in ASP.Net with roles?如何使用角色保护 ASP.Net 中的网页?
【发布时间】:2009-06-15 12:12:17
【问题描述】:

在我的应用程序中,我有不同的角色,并且涉及多个页面。如何保护某些角色可能无法访问的网页?

假设第 1 组可以访问网页 a.aspx、b.aspx 和 c.aspx,但不能访问网页 d.aspx。当第 1 组的用户在 d.aspx 中键入时,我如何确保他无法查看该页面?

【问题讨论】:

  • 您想使用基于 .NET 角色的安全性来实现这一点吗?
  • 这些角色在数据库表中是固定的还是可变的?
  • 现在它们被固定并存储在一个表中(id + description)。我现在有 4 个角色。
  • 我们也有同样的情况。每个角色都可以访问特定页面。我们所做的与我在答案中发布的相同。 1 点需要注意,在您的情况下,如果您在 DB 中再添加 1 个角色,那么您将该角色放置在哪里?页面的可访问性??????同样,您必须在 web.confing 中定义该角色 Accessbility ...。这里的第二个选项是在运行时放置这些角色的可访问性或在运行时生成这种东西。我的意思是你必须在运行时修改 web.config .....
  • 如果你在DB中再定义1个角色,你是在添加,哪些页面可以访问这个角色?您是否存储了这些信息?如果不是简单地,您必须在 web.config 中进行硬编码。

标签: c# .net asp.net authentication


【解决方案1】:

你必须在web.config中添加,哪个Role可以获取哪个页面。

<location path="yourPage.aspx">
    <system.web>
        <authorization>
            <deny users="?"/>
            <allow roles="Super Admin"/>
                            <deny users="Admin"/>

        </authorization>
    </system.web>
</location>

【讨论】:

  • 谢谢。但是我的角色存储在数据库中。有没有(快速整洁的)动态方式?
  • 这些角色在数据库表中是固定的还是可变的?
  • 那么我必须为每个页面创建一个授权标签?
【解决方案2】:

这是一个很大的话题,但我认为您想要研究的是 ASP.NET Membership Provider。

我将从这里开始:Examining ASP.NET 2.0's Membership, Roles, and Profile

留言板只有一件事 网站、电子商务网站、社交 网络网站和门户网站 共同点:他们都提供用户 帐户。这些网站,还有很多 其他,允许(或要求)访客 创建一个帐户以使用 某些功能。例如,一个 留言板网站,例如 ASPMessageboard.com,允许匿名 和经过身份验证的访问者查看和 搜索各种帖子 论坛。然而,为了能够 发布新话题或回复 消息访问者必须有一个帐户 并且必须登录网站。

【讨论】:

  • 谢谢。我正在寻找一个快速而好的解决方案。它不适用于非常大的应用程序。
  • 他的建议可能会比自己滚动更快。
【解决方案3】:

这可能会对您有所帮助。

将授权应用于匹配 url 的授权模块: http://code.google.com/p/talifun-web/wiki/RegexUrlAuthorizationModule

【讨论】:

    猜你喜欢
    • 2019-08-11
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 2021-10-30
    • 2012-09-14
    • 1970-01-01
    • 2015-05-10
    相关资源
    最近更新 更多