-1

我正在 Asp.net 4.0 中开发一个 Web 应用程序,其中我有两种类型的页面“安全”和“不安全”。

要访问安全页面,请在我的安全 web.config 中使用位置标签,并且用户必须成功登录。登录后我将复制该网址,然后注销。

我的预期结果:-虽然我要将该网址粘贴到浏览器中,但它会再次向我显示登录页面。

所以请给我与我的查询相关的示例。

提前致谢.....

4

2 回答 2

0

我所做的是创建一个文件夹(可能名为“Secure”)并在文件夹内添加一个 web.config 文件。它会非常小......可能就像这样简单(只允许登录用户):

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
        <authorization>
            <deny users="?" />
        </authorization>
    </system.web>
</configuration>

添加到文件夹的任何页面都会在访问时导致登录提示,您无需执行任何其他操作。这是假设您正在使用 ASP.Net 成员资格/安全功能(从您的问题中听起来)。

注意:附加/小 web.config 文件将被限制在包含它的文件夹的范围内。

如果您想创建几个角色(我们为内部管理员页面执行此操作),您可以将访问权限限制为仅与这些角色相关联的用户......这很容易。以下 web.config 位于我们的 Admin 文件夹中,其中包含我们所有的管理页面...

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
        <authorization>
            <allow roles="FullClearance" />
            <allow roles="HighClearance" /><!-- mgr clearance-->
            <allow roles="StandardClearance" /> <!-- staff clearance-->
            <deny users="*" /><!-- authenticated users -->
            <deny users="?" /><!-- anonymous  users -->
        </authorization>
    </system.web>
</configuration>
于 2012-09-25T14:38:57.680 回答
0

您需要使用您所在位置的授权标签来限制匿名用户的访问,例如

<location path="Secured.aspx">
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
    </system.web>
</location>
于 2012-09-25T10:55:49.957 回答