gpt4 book ai didi

asp.net - 文件夹中的 web.config 允许所有用户身份验证或不进行用户身份验证

转载 作者:行者123 更新时间:2023-12-02 03:42:16 25 4
gpt4 key购买 nike

我有一个包含多个调查 aspx 页面的文件夹。我必须在这些 aspx 页面上设置权限。有 5 个不同的页面,只有一个允许特定用户访问。我添加了一个 web.config 文件来允许和拒绝用户,但它不起作用。如果我允许我的用户名并添加 deny="?" 我没有访问权限,但如果我添加另一个用户,删除我的用户并删除拒绝选项,我将获得登录的权限系统。如果我取消拒绝,我可以获得访问权限,但随后所有用户都可以访问该页面。

添加我的用户凭据并拒绝所有我无权访问的匿名用户。有人可以指出我做错了什么的正确方向吗?难道它没有读取或获取我的 Windows 登录凭据吗?我正在使用 Visual Studio 2012, Entity Framework 。

这就是我所做的:

   //Web Config that allows and denies:
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>

<location path="QualityCheckSurvey.aspx">
<system.web>
<authorization>
<allow users="DomainName\User2" />
<deny users="?" />
</authorization>
</system.web>
</location>
</configuration>

我已将身份验证模式设置为 Windows。

编辑看来权限设置不正确。但它仍然不起作用。当我拒绝 * 但允许 USER1 时,即使提示登录请求,用户也无法获得访问权限。即使用户有访问权限,登录窗口对话框也会不断弹出 3 次。使其否认? (匿名)允许每个人都可以访问,即使我取消拒绝并且只有 USER1 的允许标记,其余用户仍然可以访问...我现在在本地运行,但即使在设置 IIS 时也可以那里的身份验证(Windows 和基本身份验证)的作用完全相同......

编辑这是我正在使用的实际代码。此路径“”中仅允许 3 个用户。此 web.config 文件位于包含 5 种不同类型的调查的调查文件夹中。只有这一项调查应允许某些用户访问,其余调查任何人都可以访问......

     <?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>

<location path="QualityCheckSurvey.aspx">
<system.web>

<authorization>
<deny users="?" />
<allow users="OEP\kevinh, OEP\shabierg, OEP\heilened" />
<deny users="*" />
</authorization>

</system.web>
</location>

在应用程序根目录的主 web.cofin 中,我已将身份验证模式设置为 Windows:

     <authentication mode="Windows">

<!--<forms loginUrl="~/Account/Login.aspx" timeout="2880" />-->
</authentication>

最佳答案

关于你的问题,你说你有一个文件夹名称,但在 web.config 上你只给出了路径上的文件名。使用文件夹名/文件名.aspx,如下所示。使用拒绝用户=“*”而不是拒绝用户=“?”

<location path="foldername/QualityCheckSurvey.aspx">
<system.web>
<authorization>
<allow users="DomainName\User2"/>
<deny users="*"/>
</authorization>
</system.web>
</location>

编辑

这看起来您在同一个应用程序中有多个 web.config 文件。为了避免混淆,只需删除 Survey 文件夹中的一个并在根文件夹 web.config 中添加此代码即可。

 <?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<authentication mode="Windows" />
</authorization>
</system.web>

<location path="survey/QualityCheckSurvey.aspx">
<system.web>
<authorization>
<allow users="OEP\kevinh, OEP\shabierg, OEP\heilened" />
<deny users="*" />
</authorization>
</system.web>
</location>

我假设调查文件夹位于根文件夹内。

关于asp.net - 文件夹中的 web.config 允许所有用户身份验证或不进行用户身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18207949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com