如何在web.config中指定根(/)位置?

如何在web.config中指定根目录位置以允许未经身份validation的用户访问?

根位置由default.aspx提供,但用户通常看不到default.aspx,他们只看到http://mysite.com/

所以我补充说

  <location path="~/default.aspx"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location> 

如果用户点击mysite.com/default.aspx ,但是如果用户点击mysite.com/default.aspx ,那么这种方法会起作用 – 他仍然被redirect到login页面。

我已经试过<location path="~"> (没有帮助),还有<location path="~/"><location path=""> site <location path=""> (网站完全失败),无法工作。

有任何想法吗?

试试这个:

 <system.web> <urlMappings enabled="true"> <add url="~/" mappedUrl="~/default.aspx" /> </urlMappings> <authorization> <allow roles="admin"/> <deny users="*" /> </authorization> </system.web> <location path="Default.aspx"> <system.web> <authorization> <allow users="*" /> </authorization> </system.web> </location> 

只能用

 <location path="."> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> 

或者不写path,因为默认path是根(。)

你可以通过2种方法来实现

方法1:

如果任何用户直接访问您的站点,您可以在IIS中将redirectpath设置为http://mysite.com/default.aspx。在IIS7中,您可以通过单击“默认文档”来完成此操作。; 在这里我附上图片供您参考

IIS7设置添加您的默认页面重定向

方法2

你可以通过这个URL的ASp.NET成员来设置你的networkingconfiguration设置。

让我知道你是否需要更多的细节。

我们过去的做法是为所有需要login的function创build一个文件夹,并为该文件夹设置require auth。 所有的aspx去那个文件夹。 网站的根目录保持打开。

你可能使用表单authentication否?

 <authentication mode="Forms"> <forms loginUrl="~/Default.aspx" /> </authentication> 

这将解决您的问题。 另一种方法是:

  <location path="~/Default.aspx"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location> 

如果您只想让未经authentication的用户访问default.aspx,您可以使用

  <location path="Default.aspx"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location> 

<system.web>之前,并将该页面设置为您的Web服务器的默认页面。
在Visual Studio中,您可以select页面和“设置为起始页”。

如果您想要允许访问根目录中的所有文件,则必须创build文件夹,在其中放置需要经过身份validation的用户访问的页面。

您可以创build一个安全文件夹,您可以放置​​所有受保护的页面,并通过以下方式更改web.config:

  <location path="Secure"> <system.web> <authorization> <deny users="?"/> </authorization> </system.web> </location> 

去除

  <authorization> <deny users="?"/> </authorization> 

要指定根目录,您必须将其设置在位置块之外。

 <configuration> <system.web> <authorization> <allow users=“*“/> </authorization> </system.web> </configuration> 

然后使用位置块保护您的其他文件夹

 <location path=“AccessDenied.aspx“> <system.web> <authorization> <deny users=“?“/> </authorization> </system.web> </location> 

用这个 :

 <location path="Default.aspx"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location> <location path="~"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location> 

这个对我有用。

Merk是对的!

我用了

 <location path=""> <system.webServer> <httpRedirect enabled="true" destination="http://www.newpathdestination.com" exactDestination="true" httpResponseStatus="Permanent" /> </system.webServer> </location> 

在Windows netserver上(不要问),确保在位置path的引号之间没有任何内容。 将旧主页的请求redirect到新主页。

如果要指定目录的根目录,请使用<location path="" >