技术开发 频道

ASP.NET2.0认证项的配置

【IT168技术文档】

    在ASP.NET2.0中,如果根目录允许匿名用户访问,而根目录下的一个页面(如Info.aspx)必须要登录(假设登录页面为login.aspx)后才能访问,根目录下的web.config文件必须这样配置:

<?xml version="1.0"?> <configuration> <appSettings> </appSettings> <connectionStrings> </connectionStrings> <system.web> <compilation debug="true"/> <!--<authentication mode="Windows"/>--> <authentication mode="Forms"> <forms loginUrl="login.aspx" protection="All" path="/" timeout="30"/> </authentication> <authorization> <!--允许匿名--> <allow users="?"/> </authorization> </system.web> <location path="Info.aspx"> <system.web> <!--认证项配置(在为一个单独页面指定认证信息时,authentication节只能从这个目录继承,不能单独设置)--> <!-- <authentication mode="Forms"> <forms name=".www.cnpp.info" loginUrl="login.aspx" protection="All" path="/" timeout="30"/> </authentication> --> <!--用户访问控制--> <authorization> <!--阻止匿名--> <deny users="?"/> </authorization> </system.web> </location> </configuration>

    也就是在需要认证的页面配置节中不能配置authentication项,只能在在根目录中配置authentication项,Info.aspx从根目录继承. 否则会出现这样的错误: "在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误 "

0
相关文章