安全页面的web.config中的位置

时间:2012-09-25 10:49:09

标签: c# asp.net security

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

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

我的预期结果: - 当我要在浏览器中粘贴该网址时,它会再次显示我的登录页面。

所以请给我一个与我的查询相关的例子。

先谢谢.....

2 个答案:

答案 0 :(得分:0)

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

<location path="Secured.aspx">
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
    </system.web>
</location>

答案 1 :(得分: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>