不明白楼主为何要用Windows验证,难道是AD环境?
<?xml version="1.0"?> <!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <system.web> <compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" /> <authentication mode="Windows"> </authentication> <authorization> <deny users="?"/> <!--这个是网站所有其他页面的设置,拒绝未登录用户--> </authorization> </system.web> <location path="Register.aspx"> <!--这个页面对所有用户都可以用,也就是说无需登录--> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location> </configuration>
参考这个定义
谢谢你!非常感谢!!!这样配置我们也试过了,不行的。如果IIS那边配置的是windows验证,Register.aspx这个页面也要弹出那个登陆框的,如果IIS那边设置是匿名用户,访问Register.aspx是没有问题,但是访问其他页面就会报没有权限,不会弹出Windows登陆框的。
另外我们这个产品是内部使用的,必须有域账号才能进去。所以就没有必要自己做登陆页面了。
@MokeSun: 下面我的一些个人观点,供参考:
如果是内部使用的话,那么其实所有用户都是登录过域的,具有合法的Windows账号的,也就是说,你所提到的默认页面不做身份验证,这一来很难实现,二来是否真的有此必要呢。
这就有点像微软的SharePoint,他在企业内部使用的时候,就是使用Windows验证的,用户打开的时候就验证了身份(其实这里的验证并不见得要用户再输入一次用户名和密码,因为用户既然在域里面,就肯定是验证过身份的,IE有一个设置可以直接使用当前用户身份登录),然后进去了之后,再看具体哪些页面他有没有权限。
我想这是一个更加合理的思路,给你参考一下