簡體   English   中英

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

[英]How to specify root (/) location in web.config?

如何在web.config中指定根位置以允許未經身份驗證的用戶訪問它?

根位置由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/ ,他仍然會重定向到登錄頁面。

我已經嘗試了<location path="~"> (沒有幫助)以及<location path="~/"><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>

或者不寫路徑,因為默認路徑是root(。)

你可以通過2種方法實現

方法1:

如果任何用戶直接訪問您的站點,您可以在IIS中將重定向路徑設置為http://mysite.com/default.aspx。在IIS7中,您可以通過單擊“默認文檔”來執行此操作。 這里我附上圖片供您參考

IIS7設置添加默認頁面重定向

方法2

您可以通過此URL ASp.NET Membership來設置您的Web配置設置。

如果您需要更多詳細信息,請與我們聯系。

我們過去的方式是為所有需要登錄的功能創建一個文件夾,並為該文件夾設置require auth。 所有aspx都轉到該文件夾​​。 網站的根目錄保持開放狀態。

你可能使用表格驗證沒有?

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

這將解決您的問題。 另一種選擇是:

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

如果您只想讓未經身份驗證的用戶訪問default.aspx,您可以使用

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

<system.web>之前,將該頁面設置為Web服務器中的默認頁面。
在Visual Studio中,您可以選擇頁面和“設置為起始頁”。

如果要允許訪問根目錄中的所有文件,則必須創建文件夾,以便放置需要由經過身份驗證的用戶訪問的頁面。

您可以創建一個Secure文件夾,您可以在其中放置所有受保護的頁面並以這種方式更改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>

這個對我有用。

默克是對的!

我用了

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

在Windows netserver上(不要問),確保在位置路徑的引號之間沒有任何內容。 將舊主頁的請求重定向到新主頁。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM