企業應用程序采用域用戶來代替獨立的用戶管理模塊的好處很多。
程序本身不需要單獨編寫用戶帳號管理模塊
與域用戶集成,用戶不需要單獨記憶用戶名口令,可以實現無縫登錄
采用與用戶方案安全性提升到域用戶安全級別
其他好處多多
首先需要配置IIS:
為你的應用單獨建立一個web虛擬目錄,右鍵選擇屬性裡的目錄安全,權限與訪問控制,把“打開匿名訪問”不選,僅僅選擇“集成Windows權限認證”,別的都不要選,確定。
集成域用戶來控制用戶訪問的途經有兩種,一種是利用NTFS權限控制表,缺點是每次轉移應用之後,需要逐個設置目錄訪問權限。另外一種是通過配置web.config文件,通過URL來控制,好處是直接修改配置文件就可以了,不需要每次發布應用時變換一次目錄就修改一次。下面我就主要介紹一個後者。
劃應用目錄樹:
根目錄的權限設置覆蓋子目錄的設置,把管理頁面單獨放在一個路徑下,舉例如下:
\root\
\root\admin
\root\sales
\root\user
修改配置文件:
在需要進行權限配置的目錄下面,分別建立web.config文件。root下面肯定需要一個配置文件了,在本例中由於admin路徑下放置了管理頁面,因此我在admin下面也建立了一個web.config配置文件。
root下的web.config配置文件的和權限相關的內容如下:
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="APPConnectionString" connectionString="Data Source=MachineName;Initial Catalog=DatabaseName;Integrated Security=SSPI"
</connectionStrings>
<system.web>
<authentication mode="Windows" />
<!--<identity impersonate="true" userName="UserName" password="PassWord" />-->
<identity impersonate="true"/>
<authorization>
<allow roles="UserName,domainname\username1,domainname\username2,domainname\usergroup1" />
<deny users="*"/>
</authorization>
</system.web>
</configuration>
admin目錄下也增加一個web.config文件
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow roles="domainname\username1,domainname\usergroup1" />
<deny users="*"/>
</authorization>
</system.web>
</configuration>