sharepoint2010 單點登入 SSS

2022-03-21 00:42:43 字數 3923 閱讀 1098

以下內容來自it專家網:

對sss進行初始配置

首先進入sharepoint 2010管理中心,在應用程式管理頁面選擇管理服務應用程式。

在服務應用程式頁面,選擇secure store service,然後點選上方ribbon區中的管理。

在初次進入sss管理頁面時,系統將提示我們「在建立新的安全儲存目標應用程式之前,必須首先在功能區中為此 secure store service 應用程式生成新金鑰。」

該金鑰將對我們儲存在sss資料庫中的憑據資訊進行加密和解密。

點選ribbon區內的生成新金鑰,在彈出視窗中為該金鑰設定通行短語。

金鑰生成後,sss的初始配置便算是告一段落了。

建立目標應用程式

如果大家在sharepoint 2007中曾經使用過sso的話應該對這部分的內容比較熟悉,關於建立目標應用程式的操作與2007相比並無很大區別。

首先還是進入我們的sss例項的管理頁面,在ribbon區里的管理目標應用程式組中單擊新建按鈕進入建立新的安全儲存目標應用程式頁面。

我們需要設定目標應用程式的id、顯示名稱、聯絡人電子郵件、目標應用程式型別這四個主要屬性,其中比較重要的屬性是目標應用程式id和目標應用程式型別。id是sss用於識別此目標應用程式的唯一標識,目標應用程式型別主要分為個人和組兩大類,如果選擇個人則可以啟用乙個目標應用程式頁,該頁面將用於使用者自行新增該目標應用程式的個人憑據。

因為在本例中要做的是使用者與其個人郵箱間的對映,所以這裡選擇個人就好了,然後點選下一步。下面要做的就是設定將憑據提交到外部資料來源時所要用到的字段了,預設情況下是使用者名稱和密碼兩個字段。其中的已遮蔽選項表示當使用者在輸入該字段的值時將以遮蔽字元代替使用者的輸入字元,例如 *號。在本例中保持預設值就可以了。

最後還需要為此目標應用程式設定乙個管理員。

ok,到了這裡所有的配置工作就結束了,由於在sharepoint 2010中微軟仍然沒有提供乙個可以out-of-box的webpart,所以像07中一樣,要實現單點登入的話還需要我們自己來開發乙個webpart。

建立單點登入webpart

由於在sharepoint 2010中微軟用sss取代了以前的sso,所以在2007中實現單點登入時所用的**現在已經不能用了,需要用sp 2010中新的物件模型來完成這一功能。

使用vs2010建立乙個空白sharepoint專案,然後新增乙個可視web部件。

接著在此專案中新增microsoft.bussinessdata和microsoft.office.securestoreservice的引用。這裡呢可能會出現乙個問題,因為在\microsoft shared\web server extensions\14\isapi這個目錄下只有microsoft.office.securestoreservice.server.security這個dll,需要我們自己到gac中將microsoft.office.securestoreservice這個dll拷貝出來才行。microsoft.bussinessdata可以在\microsoft shared\web server extensions\14\isapi目錄下找到。

通過下面這段**可獲得當前使用者儲存在sss中的目標應用程式憑據。

以下是**片段:

47 }

完成後將webpart部署到**中,ok,結束~~~

下面是實際專案中獲取儲存的工號密碼的的完整**,比較簡單也沒寫注釋。

//////

根據系統id獲取儲存的工號密碼

//////

///name,pwd

sceciurs

"));

break;

case securestorecredentialtype.username:

iliststring.add(encrypt(toclrstring(ssc.credential), "

sceciurs

")); 

break;

case securestorecredentialtype.windowsusername:

iliststring.add(encrypt(toclrstring(ssc.credential), "

sceciurs

"));

break;

case securestorecredentialtype.windowspassword:

iliststring.add(encrypt(toclrstring(ssc.credential), "

sceciurs

"));

break;

default:

break;}}

}}catch (exception ex)

return iliststring;

}///

///dec 加密過程

//////

被加密的字串

///金鑰(只支援8個位元組的金鑰)

///加密後的字串

public

string encrypt(string ptoencrypt, string skey)

", b);

}ret.tostring();

return ret.tostring();

}///

///dec 解密過程

//////

被解密的字串

///金鑰(只支援8個位元組的金鑰,同前面的加密金鑰相同)

///返回被解密的字串

public

string decrypt(string ptodecrypt, string skey)

des.key = asciiencoding.ascii.getbytes(skey); //

建立加密物件的金鑰和偏移量,此值重要,不能修改

des.iv = asciiencoding.ascii.getbytes(skey);

memorystream ms = new memorystream();

cryptostream cs = new cryptostream(ms, des.createdecryptor(), cryptostreammode.write);

cs.write(inputbytearray, 0, inputbytearray.length);

cs.flushfinalblock();

//建立stringbuild物件,createdecrypt使用的是流物件,必須把解密後的文字變成流物件

stringbuilder ret = new stringbuilder();

return system.text.encoding.default.getstring(ms.toarray());

簡單配置 SharePoint 2010

一 初始場配置嚮導 sharepoint 產品配置嚮導 安裝完成之後,自動轉到 初始場配置嚮導 其鏈結位址為 http moss10 2012 admin adminconfigintro.aspx?scenarioid adminconfig welcomestringid farmconfigu...

簡單配置 SharePoint 2010

一 初始場配置嚮導 sharepoint 產品配置嚮導 安裝完成之後,自動轉到 初始場配置嚮導 其鏈結位址為 http moss10 2012 admin adminconfigintro.aspx?scenarioid adminconfig welcomestringid farmconfigu...

SharePoint 2010 許可權內容

對於 sharepoint 2010 的許可權來說,需要理解 sharepoint 使用者組的概念,使用者組對訪問 sharepoint 的使用者進行分組,以便於許可權管理。而許可權分類則類似於通常意義上的角色。需要特別注意的一點是,sharepoint 使用者組是屬於整個 集,而不是屬於某個 在 ...