电竞比分网-中国电竞赛事及体育赛事平台

分享

基于AD的Form表單身份驗證

 Jimmy Booker 2011-08-23
 默認(rèn)情況,MOSS的身份驗證是基于AD的,但是基于AD的用戶身份驗證較適合于企業(yè)的內(nèi)部中使用,若要在外部網(wǎng)絡(luò)環(huán)境下要訪問MOSS網(wǎng)站那么基于AD身份驗證的方式就不太適用了,因為要基于AD認(rèn)證必須要開啟些不必要的端口號,所以出于安全原因的考慮,大家就想到基于Form表單的身份驗證并將用戶的驗證的身份信息存儲于數(shù)據(jù)庫中,這樣就可以解決原來在基于AD認(rèn)證時帶來的不方便!但將MOSS改為Form表單身份驗證的前提是需要用戶自己創(chuàng)建用戶信息,這樣也挺麻煩的,有沒有一種即可以像AD認(rèn)證那樣不用創(chuàng)建用戶且還具有Form表單驗證的功能呢?答案的是肯定。

  基于MOSS身份驗證除了默認(rèn)的AD認(rèn)證,基于Form的表單驗證,其實還有一種是基于AD的Form表單身份驗證,下面就詳細(xì)介紹下這種身份驗證是如何進(jìn)行的。。。。

  配置基于AD的Form身份驗證所需的宿主Sharepoint網(wǎng)站集(如:http://tecpc:8001)是如何創(chuàng)建的相信大家應(yīng)該都非常熟悉了,在這小弟就在嘮叨了,哈哈。。。直接切入正題

  一、配置Web應(yīng)用程序的里“身份驗證提供程序”

  打開Sharepoint管理中心->應(yīng)用程序管理->驗證提供程序   頁面并根據(jù)需要修改到相應(yīng)的Web應(yīng)用程序,如圖1

  點擊“默認(rèn)”,打開編輯驗證的頁面

  1、修改“驗證類型”欄處選擇“表單”

  2、“匿名訪問”欄處,根據(jù)用戶需要是否啟動網(wǎng)站的匿名訪問功能

  3、在“成員身份驗證提供程序”欄,輸入成員身份驗證提供程序名稱:AspNetActiveDirectoryMembershipProvider ,這個名稱須與Web應(yīng)用程序所對應(yīng)的Web.Config里的配置一樣即可

  4、保存上述所做的配置

  如圖2:

 

  在保存完上述所在的配置之后,返回到“驗證提供程序”頁面會發(fā)現(xiàn)原來的“默認(rèn)”記錄行里的成員身份提供程序名稱欄處由原來的"Windows"變成了"AspNetActiveDirectoryMembershipProvider",Web應(yīng)用程序完成上述這些步驟的配置后就完成了將其改為基于AD的Form表單的身份,你可以試著登錄該網(wǎng)站,會發(fā)現(xiàn)被導(dǎo)航到輸入用戶名與密碼的登錄頁面,如圖3:

 

  你可試著輸入用戶名與密碼,然后進(jìn)行登錄,會發(fā)現(xiàn)你已沒有權(quán)限登錄了就算換成administrator的賬號來登錄,也是報同樣的錯誤沒有權(quán)限登錄,這是因為現(xiàn)在已將網(wǎng)站修改成了基于AD的Form表單身份驗證而不是原來集成身份驗證了,之前配置的用戶信息是基于Windows的。

  下面還需要經(jīng)過以下兩個步驟的操作后即可解決上面所碰到的問題,請繼續(xù)往下看吧。。。

  1、修改Web應(yīng)用程序(http://tecpc:8001)的Web.Config

  打開Web應(yīng)用程序在虛擬目錄下對應(yīng)的8001文件夾-->Web.Config

  在Web.config文件中的<system.web>一節(jié)上面,添加如下配置節(jié):

雙擊代碼全選
1
2
3
<connectionStrings>
    <add name="ADCustomService" connectionString="LDAP://moss"/>
</connectionStrings>

 

  其中"ADCustomService"是自定義的名稱,將會被后面的配置節(jié)所用到。“moss”是所配置的AD的名稱

  然后,需要在“<system.web>”節(jié)里面添加如下配置節(jié):

雙擊代碼全選
1
2
3
4
5
<membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
 <providers>
<add name="AspNetActiveDirectoryMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider,  System.Web, Version=2.0.0.0, Culture=neutral,   PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADCustomService" connectionProtection="Secure" applicationName="/_layouts/login.aspx"     connectionUsername="CONTOSO\wssadmin"connectionPassword="ilove"             attributeMapUsername="sAMAccountName"         minRequiredPasswordLength="7"             minRequiredNonalphanumericCharacters="1"             attributeMapEmail="mail"       requiresQuestionAndAnswer="false" />
 </providers>
</membership>

 

  注意: 

 ?。保﹏ame屬性的值不要寫錯,要和前面一篇設(shè)置提供程序時的名稱相同。

  2)connectionStringName的值要和上一步ConnectionStrings節(jié)中設(shè)置的名稱相同。

 ?。常゛ttributeMapUsername、attributeMapEmail的值都是AD中相應(yīng)的屬性名稱。

  4) connectionUsername和connectionPassword的值是連接使用的賬號與密碼。

  5) minRequirePasswordLength和minRequiredNonalphanumericCharacters都是組策略的設(shè)置,要根據(jù)實際的設(shè)置填寫。

  添加完成后,保存所做修改。

  2、修改Sharepoint管理中心應(yīng)用程序的Web.Config,及修改8001端口的Web應(yīng)用程序的策略

  Sharepoint管理中心應(yīng)用程序的Web.Config的配置與上面的Web.Config配置的代碼是一樣,在這里我不就再貼出了,這里著重介紹下如何修改Web應(yīng)用程序的策略以便添加用戶權(quán)限。

  打開Sharepoint管理中心->應(yīng)用程序管理-->Web 應(yīng)用程序策略   根據(jù)需要修改Web應(yīng)用程序,如圖4:

 

  單擊“添加用戶”-->在選擇區(qū)域處選擇“默認(rèn)”-->下一步-->在選擇用戶欄處選擇相應(yīng)的用戶名,并在選擇相應(yīng)的權(quán)限-->完成,如圖5:

 

  此時,在“Web的應(yīng)用程序策略”界面中,我們就可以看到默認(rèn)區(qū)域添加了一個完全控制的管理賬戶。同時,通過賬戶名稱前綴,可以看出該賬戶是由我們的Provider提供的,這時再次訪問網(wǎng)站輸入用戶名與密碼后即可登錄網(wǎng)站中。

  完成了這兩步驟的配置后,就可以解決前面所碰到的登錄時沒有權(quán)限的問題了。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多