| 筆者做一個報表展示的網站,報表使用excel形式存放在伺服器,希望登入的人或者有許可權的人才能下載excel報表。但是檔案下載的路徑無法隱藏,所以頁面控制根本沒用。近日在研究iis的時候,突然就豁然開朗了。 首先編輯或者修改網站的web.config,加入或者修改紅色地區 <!-- 身分識別驗證 此節設定應用程式的身分識別驗證策略。可能的模式是 "Windows"、 "Forms"、 "Passport" 和 "None" "None" 不執行身分識別驗證。 "Windows" IIS 根據應用程式的設定執行身分識別驗證 (基本、簡要或整合 Windows)。在 IIS 中必須禁用匿名訪問。 "Forms" 您為使用者提供一個輸入憑據的自訂表單(Web 頁),然後 在您的應用程式中驗證他們的身份。使用者憑證標記儲存在 Cookie 中。 "Passport" 身分識別驗證是通過 Microsoft 的集中驗證服務執行的, 它為成員網站提供單獨登入和核心設定檔服務。 --> <authentication mode="Forms"> <forms name=".ASPXUSERDEMO" loginUrl="login.aspx" protection="All" timeout="60" path="/"><credentials passwordFormat="SHA1" /></forms> </authentication> <!-- 授權 此節設定應用程式的授權策略。可以允許或拒絕不同的使用者或角色訪問 應用程式資源。萬用字元: "*" 表示任何人,"?" 表示匿名 (未經身分識別驗證的)使用者。 --> <authorization> <deny users="?"/> <!-- <allow users="[逗號分隔的使用者列表]" roles="[逗號分隔的角色列表]"/> <deny users="[逗號分隔的使用者列表]" roles="[逗號分隔的角色列表]"/> --> </authorization> 接著編寫login.aspx 對於登入成功者加入 FormsAuthentication.SetAuthCookie(uid,false); FormsAuthentication.RedirectFromLoginPage(uid,false); 開啟iis,找到你的網站,點右鍵,選屬性,-》主目錄-》配置 然後在“映射”中選添加, 添加如。 好了,大功告成,現在再訪問主站下的一個xls文檔http://localhost/sms/1.xls,看到什嗎? 呵呵,沒錯,需要您登入了。當你輸入登入資訊並且登入了您才能下載這個檔案! 對,就這麼簡單,如果加上role,可以進行更複雜的控制。 歡迎交流(maximon@sina.com 無錫國稅瞿惠春) |