檔案下載的許可權控制(asp.net)

來源:互聯網
上載者:User
asp.net|控制|下載 筆者做一個報表展示的網站,報表使用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 無錫國稅瞿惠春)


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.