如何在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中,您可以通过单击“默认文档”来完成此操作。; 在这里我附上图片供您参考
方法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="" >