正當下午想要請假回家玩玩久沒開的SC2,結果竟然收到有人問問題!(我要哭了,竟然有人看我的blog)。
好,信的問題主要有兩個,第一個就是本篇「為什麼在調用MapGuide框架時,會一直出現要輸入帳號密碼的介面?」
這個問題主要原因是,MapGuide框架在被呼叫的時候,並沒有正確的獲得可檢視該Layout的權限,大致上可以分為:
1. 沒有給帳號密碼。
2. 給的帳號密碼錯誤。
3. 登入的帳號沒有權限。
以下以asp.net空頁面來說明:
1. 獲取SessionId
看以上程式碼應該可以看出來,我們以帳號密碼當參數new一個MgUserInformation(MapGuide預設管理者帳號為Administrator、密碼為admin),並且用這個User打開站點,並且以該站點建立一個SessionId;我們都知道MapGuide是以Session來獲取資訊的。所以我們可以想成這一組產生的SessionId就是一個擁有該帳號權力的鑰匙。也就是之後要進行地圖的操作或是瀏覽都要運用這組SessionId。
2. 呼叫框架
MapGuide目前所提供的框架有兩種,一個是Basic Layout(基本佈局),另一個為Flexible Layout(靈活佈局),不管你是使用那一種,在呼叫的時候都必須要給他兩個參數,一個就是你要使用那一個Layout,另一個就是你是誰?
因為你在第一部份已經獲得了一個帶有帳號密碼的SessionId,所以到了真的要呼叫MapGuide框架時,就只需要給SessionId即可。
最後貼上所有程式碼跟結果圖,用同一組密碼(也就是同一組SessionId,開啟一個同時呼叫Basic Layout跟Flexible Layout的頁面。
沒有留言:
張貼留言