我正在开发Asp.net 4.0中的Web Applilcation,其中我有两种类型的页面“安全”和“不安全”。
要访问安全页面,我在我的安全的web.config中使用位置标记,用户必须成功登录。然后在登录后我将复制该URL然后注销。
我的预期结果: - 当我要在浏览器中粘贴该网址时,它会再次显示我的登录页面。
所以请给我一个与我的查询相关的例子。
先谢谢.....
答案 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>