我有一个文件夹与几个调查aspx页面.我必须在这些aspx页面上设置权限.有5个不同的页面,只有一个允许某些用户访问.我添加了一个web.config文件来允许和拒绝用户,但它不工作.如果我允许我的用户名,并添加一个deny =“?”我没有访问权限,但是如果我添加另一个用户,请拿出我的权限,并取消拒绝选项,我有权限登录系统.如果我拒绝,我可以访问,但是所有用户都可以访问该页面.
添加我的用户凭据并拒绝所有匿名用户我无法访问.有人可以指出我正在做错什么的正确方向吗?
是不是不读取或拿我的Windows登录凭据?我正在使用visual studio 2012,实体框架.
这就是我所做的:
- //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中,你只给出了路径上的文件名.使用foldername / filename.aspx,如下所示.使用deny users =“*”代替deny users =“?”
- <location path="foldername/QualityCheckSurvey.aspx">
- <system.web>
- <authorization>
- <allow users="DomainName\User2"/>
- <deny users="*"/>
- </authorization>
- </system.web>
- </location>
编辑
这看起来像在同一应用程序中有多个web.config文件.为了避免混淆,只需删除一个在调查文件夹和根文件夹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\heilened" />
- <deny users="*" />
- </authorization>
- </system.web>
- </location>