MOSS2007中实现表单验证
MOSS2007中實(shí)現(xiàn)表單驗(yàn)證
轉(zhuǎn)自阿喜的Spaces
Microsoft Office SharePoint Server 2007 Forms Authentication
本文將演示如何在MOSS2007中實(shí)現(xiàn)表單驗(yàn)證.
創(chuàng)建ASP.NET 2.0 表單驗(yàn)證數(shù)據(jù)庫(kù)
創(chuàng)建ASP.NET 2.0數(shù)據(jù)庫(kù)
使用Microsoft .NET 2.0提供的工具aspnet_regsql.exe來(lái)創(chuàng)建一個(gè)名為AspNetDb數(shù)據(jù)庫(kù):
在Visual Studio 2005命令提示中執(zhí)行 asp_regsql –A all –E.
在SQL Server 2005中查看剛才創(chuàng)建好的數(shù)據(jù)庫(kù).
配置成員資格提供程序和角色提供程序
創(chuàng)建好數(shù)據(jù)庫(kù)之后,需要在數(shù)據(jù)庫(kù)中添加用戶,最簡(jiǎn)單的方法是利用ASP.NET網(wǎng)站管理工具.
在Visual Studio 2005中創(chuàng)建一個(gè)ASP.NET站點(diǎn).
打開項(xiàng)目中的web.config文件,如果項(xiàng)目中沒有web.config文件的話,可以手動(dòng)添加一個(gè)移動(dòng)Web配置文件.
在<configuration>節(jié)點(diǎn)內(nèi)添加<connectionStrings>節(jié)點(diǎn):
<connectionStrings>
<remove name="AspNetSqlProvider" />
<add name="AspNetSqlProvider"
connectionString="server=SQL服務(wù)器名稱; database=aspnetdb; Trusted_Connection=True" />
</connectionStrings>
接著指定membership和role的提供程序,在<system.web>節(jié)點(diǎn)內(nèi)添加<membership>節(jié)點(diǎn)和<roleManager>節(jié)點(diǎn):
<!--Membership Provider-->
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<remove name="AspNetSqlMembershipProvider" />
<add connectionStringName="AspNetSqlProvider"
passwordAttemptWindow="10"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
description="Stores and retrieves membership data from the Microsoft SQL Server database"
name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
<!--Role Provider-->
<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
<providers>
<remove name="AspNetSqlRoleProvider" />
<add connectionStringName="AspNetSqlProvider"
applicationName="/"
description="Stores and retrieves roles data from the local Microsoft SQL Server database"
name="AspNetSqlRoleProvider"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
以上的步驟完成之后,選擇Visual Studio 2005菜單中的網(wǎng)站 > ASP.NET配置:
點(diǎn)擊安全:
點(diǎn)擊選擇身份驗(yàn)證類型:
選擇通過Internet,點(diǎn)擊完成.
創(chuàng)建用戶
在上一步返回的頁(yè)面中選擇創(chuàng)建用戶:
填寫用戶信息后點(diǎn)擊創(chuàng)建用戶:
點(diǎn)擊繼續(xù)來(lái)創(chuàng)建另外一個(gè)用戶Blueheart.
最后我們來(lái)確定一下web.config中的成員資格和角色提供程序是否正確,在ASP.NET網(wǎng)站管理工具中點(diǎn)擊提供程序選項(xiàng)卡:
點(diǎn)擊為每項(xiàng)功能選擇不同的提供程序(高級(jí)):
這張頁(yè)面列出了我們?cè)趙eb.config中指定的提供程序,點(diǎn)擊測(cè)試來(lái)確認(rèn)是否能成功連接到數(shù)據(jù)庫(kù):
創(chuàng)建Web應(yīng)用程序和網(wǎng)站集
創(chuàng)建第一個(gè)Web應(yīng)用程序
打開SharePoint管理中心網(wǎng)站 > 應(yīng)用程序管理 > 創(chuàng)建或擴(kuò)展Web應(yīng)用程序 > 新建Web應(yīng)用程序:
· 端口:8001
· 驗(yàn)證提供程序:NTLM
· 允許匿名訪問:否
下文中簡(jiǎn)稱此Web應(yīng)用程序?yàn)?strong>8001站點(diǎn).
創(chuàng)建網(wǎng)站集
Web應(yīng)用程序創(chuàng)建完成之后,點(diǎn)擊頁(yè)面中的創(chuàng)建網(wǎng)站集鏈接創(chuàng)建一個(gè)網(wǎng)站集:
l 模板選擇: 發(fā)布門戶
l 網(wǎng)站地址:/
創(chuàng)建第二個(gè)Web應(yīng)用程序
打開SharePoint管理中心網(wǎng)站 > 應(yīng)用程序管理 > 創(chuàng)建或擴(kuò)展Web應(yīng)用程序 > 擴(kuò)展現(xiàn)有Web應(yīng)用程序:
· 端口:8002
· 驗(yàn)證提供程序:NTLM
· 允許匿名訪問:是
· 負(fù)載平衡URL區(qū)域:Internet
下文中簡(jiǎn)稱此Web應(yīng)用程序?yàn)?strong>8002站點(diǎn).
配置Web應(yīng)用程序與ASP.NET 2.0表單驗(yàn)證數(shù)據(jù)庫(kù)的連接
配置Web應(yīng)用程序
打開8001站點(diǎn)的web.config文件, 添加連接字符串,membership和role提供程序并保存.
如果不知道web.config文件的路徑,可以打開Internet信息服務(wù)(IIS)管理器,找到8001站點(diǎn),查看其屬性,打開主目錄選項(xiàng)卡,在本地路徑處可以看到其存放位置:
以同樣的方法修改8002站點(diǎn)的web.config文件.
配置SharePoint 管理中心
在SharePoint管理中心的web.config文件中添加連接字符串,membership提供程序和role提供程序,按照之前的方法添加過后,還需要做一步必要的修改,將<roleManager>的defaultProvider屬性的值修改為AspNetWindowsTokenRoleProvider.
在Web應(yīng)用程序中啟用表單驗(yàn)證
打開SharePoint管理中心網(wǎng)站 > 應(yīng)用程序管理 > 驗(yàn)證提供程序:
確定當(dāng)前Web應(yīng)用程序是8001站點(diǎn),點(diǎn)擊Internet.
在編輯驗(yàn)證頁(yè)面做以下修改并保存:
· 驗(yàn)證類型:表單
· 啟用匿名訪問:是
· 成員身份提供程序名稱:AspNetSqlMembershipProvider
· 角色管理器提供名稱:AspNetSqlRoleProveder
打開8002站點(diǎn),顯示登錄頁(yè)面:
下面向網(wǎng)站中添加用戶來(lái)映射到自定義數(shù)據(jù)庫(kù)中的用戶.
打開8001站點(diǎn) > 網(wǎng)站操作 > 網(wǎng)站設(shè)置 > 人員和組 > 新建:
l 用戶名:blueheart
l 授予權(quán)限:訪問者
下面來(lái)測(cè)試一下,在剛才打開的8002站點(diǎn)登錄頁(yè)面,輸入blueheart和密碼,登錄成功:
因?yàn)槲覀冎皇谟鑒lueheart訪問者的權(quán)限,所以點(diǎn)擊頁(yè)面左側(cè)任務(wù)列表中的啟用匿名訪問會(huì)被拒絕訪問:
啟用匿名訪問
打開SharePoint管理中心 > Web應(yīng)用程序的策略:
確定當(dāng)前Web應(yīng)用程序是8001站點(diǎn),點(diǎn)擊添加用戶:
區(qū)域選擇Internet > 下一步:
l 用戶:windie
l 權(quán)限:完全控制
現(xiàn)在用windie登錄8002站點(diǎn),點(diǎn)擊頁(yè)面左側(cè)任務(wù)列表中的啟用匿名訪問(另一種途徑:網(wǎng)站操作 > 網(wǎng)站設(shè)置 > 修改所有網(wǎng)站設(shè)置 > 高級(jí)權(quán)限 > 設(shè)置 > 匿名訪問):
設(shè)置匿名用戶可訪問整個(gè)網(wǎng)站.
現(xiàn)在從8002站點(diǎn)注銷,測(cè)試匿名訪問是否正常工作:
配置個(gè)別網(wǎng)站的權(quán)限
采用發(fā)布網(wǎng)站模板的網(wǎng)站集中默認(rèn)包含一個(gè)新聞發(fā)布網(wǎng)站,新聞發(fā)布網(wǎng)站繼承網(wǎng)站集的權(quán)限,也就是說啟用匿名訪問之后,匿名用戶也可以訪問這個(gè)新聞發(fā)布網(wǎng)站.
本節(jié)演示如何設(shè)置網(wǎng)站集下的個(gè)別網(wǎng)站的權(quán)限:
打開8001站點(diǎn) > 網(wǎng)站操作 > 管理內(nèi)容和結(jié)構(gòu):
在新聞發(fā)布節(jié)的菜單中選擇高級(jí)權(quán)限,在權(quán)限:新聞發(fā)布頁(yè)面中選擇操作 > 編輯權(quán)限:
在彈出來(lái)的對(duì)話框中點(diǎn)擊確定:
打開權(quán)限:新聞發(fā)布頁(yè)面中新出現(xiàn)的設(shè)置菜單 > 匿名訪問,選擇匿名用戶可訪問的內(nèi)容為無(wú).
現(xiàn)在匿名訪問8002站點(diǎn),發(fā)現(xiàn)新聞發(fā)布網(wǎng)站已經(jīng)從網(wǎng)站集的導(dǎo)航欄中隱藏了:
單獨(dú)設(shè)置權(quán)限之前
轉(zhuǎn)載于:https://www.cnblogs.com/xwf2160/archive/2010/02/01/1660918.html
總結(jié)
以上是生活随笔為你收集整理的MOSS2007中实现表单验证的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript学习笔记(十五)
- 下一篇: LINQ TO LISTT 合并列表