2011-06-14 50 views
3

我正在嘗試向我的web服務添加基本的修養。我跟着從這個article步驟,並在我的web.config文件中結束了這一點:單聲道web服務和基本身份驗證

<configuration> 
<httpModules> 
    <add name="BasicAuthenticationModule" 
    type="Mono.Http.Modules.BasicAuthenticationModule, Mono.Http, Version=2.0.0.0, PublicKeyToken=0738eb9f132ed756"/> 
    </httpModules> 
    <appSettings> 
    <add key="Authentication" value="Basic" /> 
    <add key="Basic.Users" value="/home/vadmin/Projects/TestService/TestService/users.xml" /> 
    <add key="Basic.Realm" value="My Realm" /> 
    </appSettings> 
</configuration> 

我users.xml中看起來是這樣的:

<?xml version="1.0" encoding="utf-8"?> 
<users> 
<user name="adrian" password="adrian"> 
    <role name="user" /> 
</user> 
</users> 

當我運行xsp2然後去

http://localhost:8080/TestService.asmx

出現用戶和密碼提示。但是當我輸入正確的用戶名和密碼後,它一次又一次地問我。我很確定users.xml文件的路徑是正確的,嘗試運行帶有--verbose選項的xsp2,希望能找到一些沒有運氣的錯誤消息。

任何人都可以幫助我調試這種情況嗎?

+0

將路徑更改爲相對「users.xml」並將users.xml文件放置在項目主目錄中,然後執行完畢。我仍然想知道爲什麼絕對路徑沒有奏效。 – 2011-06-14 13:09:45

回答

1

如果指定以/ in config文件開頭的路徑,則這不會被解釋爲文件系統的根目錄,而會被解釋爲網站的根目錄 - 即/ home/vadmin/Projects/TestService/TestService。

因此,以/開頭的路徑應該與網站根文件夾相關 - 在您的情況下,如果users.xml文件位於項目文件夾中,那麼這將是「/users.xml」。