asp.net – web.config在文件夹允许全部或没有用户身份验证

前端之家收集整理的这篇文章主要介绍了asp.net – web.config在文件夹允许全部或没有用户身份验证前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个文件夹与几个调查aspx页面.我必须在这些aspx页面上设置权限.有5个不同的页面,只有一个允许某些用户访问.我添加了一个web.config文件来允许和拒绝用户,但它不工作.如果我允许我的用户名,并添加一个deny =“?”我没有访问权限,但是如果我添加另一个用户,请拿出我的权限,并取消拒绝选项,我有权限登录系统.如果我拒绝,我可以访问,但是所有用户都可以访问该页面.

添加我的用户凭据并拒绝所有匿名用户我无法访问.有人可以指出我正在做错什么的正确方向吗?
是不是不读取或拿我的Windows登录凭据?我正在使用visual studio 2012,实体框架.

这就是我所做的:

  1. //Web Config that allows and denies:
  2. <?xml version="1.0"?>
  3. <configuration>
  4. <system.web>
  5. <authorization>
  6. <allow users="*" />
  7. </authorization>
  8. </system.web>
  9.  
  10. <location path="QualityCheckSurvey.aspx">
  11. <system.web>
  12. <authorization>
  13. <allow users="DomainName\User2" />
  14. <deny users="?" />
  15. </authorization>
  16. </system.web>
  17. </location>
  18. </configuration>

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

编辑
似乎权限设置不正确.但它仍然不起作用.当我拒绝*,但是允许USER1,即使提示登录请求,用户也不会访问.登录窗口对话框只是继续弹出3次,即使使用了访问.使它否认(匿名)允许每个人都可以访问,即使我取消了拒绝,只有与USER1的允许标签,其余的用户仍然有访问…我现在在本地运行,但即使在IIS上设置(Windows和基本身份验证)的身份验证完全一样….

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

  1. <?xml version="1.0"?>
  2. <configuration>
  3. <system.web>
  4. <authorization>
  5. <allow users="*"/>
  6. </authorization>
  7. </system.web>
  8.  
  9. <location path="QualityCheckSurvey.aspx">
  10. <system.web>
  11.  
  12. <authorization>
  13. <deny users="?" />
  14. <allow users="OEP\kevinh,OEP\shabierg,OEP\heilened" />
  15. <deny users="*" />
  16. </authorization>
  17.  
  18. </system.web>
  19. </location>

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

  1. <authentication mode="Windows">
  2.  
  3. <!--<forms loginUrl="~/Account/Login.aspx" timeout="2880" />-->
  4. </authentication>

解决方法

在你的问题上,你说你有一个文件名称,但是在web.config中,你只给出了路径上的文件名.使用foldername / filename.aspx,如下所示.使用deny users =“*”代替deny users =“?”
  1. <location path="foldername/QualityCheckSurvey.aspx">
  2. <system.web>
  3. <authorization>
  4. <allow users="DomainName\User2"/>
  5. <deny users="*"/>
  6. </authorization>
  7. </system.web>
  8. </location>

编辑

这看起来像在同一应用程序中有多个web.config文件.为了避免混淆,只需删除一个在调查文件夹和根文件夹web.config中添加代码.

  1. <?xml version="1.0"?>
  2. <configuration>
  3. <system.web>
  4. <authorization>
  5. <authentication mode="Windows" />
  6. </authorization>
  7. </system.web>
  8.  
  9. <location path="survey/QualityCheckSurvey.aspx">
  10. <system.web>
  11. <authorization>
  12. <allow users="OEP\kevinh,OEP\heilened" />
  13. <deny users="*" />
  14. </authorization>
  15. </system.web>
  16. </location>

我假设调查文件夹在根文件夹内.

猜你在找的asp.Net相关文章