asp.net – 在根站点下托管的应用程序中配置子目录验证模式
|
在我的本地机器上,我在多个网站上工作,并在IIS下的“默认”网站下运行它们。这样我可以通过这种类型的URL访问网站: http://localhost/App1/.这是结构:
LocalDev (site)
App1 (application)
App2 (application)
App3 (application)
我遇到的问题是,在App1中,我试图在App1的子目录上启用Windows身份验证,如下所示: <configuration>
<location path="internal">
<system.web>
<authentication mode="Windows"/>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
</configuration>
不幸的是,当我尝试访问http://localhost/App1/internal/url.aspx时,我收到这个错误:
App1设置为应用程序,而不是虚拟目录。我尝试更改我的machine.config以允许在任何地方更改身份验证部分: <configuration>
<configSections>
<sectionGroup name="system.web" type="System.Web.Configuration.SystemWebSectionGroup,System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a">
<section name="authentication" type="System.Web.Configuration.AuthenticationSection,PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="Everywhere"/>
</sectionGroup>
</configSections>
</configuration>
我必须做什么才能让我的网站设置自己的身份验证模式? 解决方法您需要在Web.config中的应用程序级别启用Windows身份验证,然后在文件夹级别进一步定义授权,允许根目录下的所有用户,并拒绝所有未经身份验证的内部文件夹。在IIS中,确保为应用程序启用匿名身份验证和Windows身份验证。然后,修改您的Web.config如下: <configuration>
<system.web>
<authentication mode="Windows"/>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
<location path="internal" allowOverride="true">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
</configuration> (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在使用ASP.NET会话时是否可以强制请求并发?
- asp.net – 冻结标题,滚动GridView
- asp-classic – 如何判断ASP中的变量是否已声明
- asp.net – Telerik UI控件与jQuery的客户端UI
- asp.net-mvc – 为什么要使用视图模型?
- asp.net-web-api – ASP.NET Web API中的回调方法
- asp经典 – 经典的asp cint
- asp.net-mvc – ASP.NET MVC JsonResult返回500
- 如何在ASP.NET按钮中使用Twitter Bootstrap图标?
- ASP.NET代码隐藏中的当前工作目录 – 我们可以依
