亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

moss2007單點登入小實踐

系統(tǒng) 2149 0

很久沒來博客園嘮叨了,今天剛好有空上來逛逛,順便添加一篇實用的文章。很多人都知道MOSS自帶了一個重要特性。方便企業(yè)多系統(tǒng)之間的集成和整合。而單點登入就成為了炙熱可得的一把利劍(至于什么叫單點登入,新手如果不明白直接google吧)。不夠要在MOSS上實現(xiàn)SSO,遇到的一個問題就是你得熟悉第三方系統(tǒng)的驗證模式。在不清楚第三方系統(tǒng)是windows還是表單驗證的卻會給實現(xiàn)帶來很大的麻煩。閑話不多說,下面直接貼圖。
1:當前用戶的信息在SSO數(shù)據(jù)庫不存在時,跳轉到SSO信息配置頁面(也可以用SSO默認自帶的頁面,,我這就沒截圖了)

moss2007單點登入小實踐
2:配置成功。筆者為了讓大家看測試效果,讓他顯示在頁面。



3:點擊進入聊天室
moss2007單點登入小實踐
下面來闡述下具體的實現(xiàn)思路:
1:知道要繼承單點登入的第三方系統(tǒng)的驗證方式,然后單點登入提交的方式一般用到POST 或GET 進行提交。
2:主要用到SSO 中的Credentials類的兩個方法分別為:SetCredentials(配置單點登入信息)。GetCredentials(獲取用戶的配置信息)
實現(xiàn)的方式:A首先打開管理中心-操作-單點登入配置。進行SSO的相關設置。
這塊的資料網(wǎng)上也很多,配置步驟可以直接借鑒 十一的博客 。
B:新建一個web應用程序
筆者在這新建兩個頁面:Getusermsg.ascx 和ssowebpart.ascx.添加Microsoft.Sharepoint.Portal.SingleSingon.dll ,Microsoft.Sharepoint.Portal.dll
代碼如下:
Getusermsg.cs
注意:下面代碼中第三方系統(tǒng)的url配置記得改成自己的配置。

?1 using ?System;
?2 using ?System.Data;
?3 using ?System.Configuration;
?4 using ?System.Collections;
?5 using ?System.Web;
?6 using ?System.Web.Security;
?7 using ?System.Web.UI;
?8 using ?System.Web.UI.WebControls;
?9 using ?System.Web.UI.WebControls.WebParts;
10 using ?System.Web.UI.HtmlControls;
11 using ?Microsoft.SharePoint;
12 using ?Microsoft.SharePoint.Portal;
13 using ?Microsoft.SharePoint.Portal.SingleSignon;
14 namespace ?SSOwebpart
15 {
16 ???? public ? partial ? class ?Getusermsg?:?System.Web.UI.UserControl
17 ???? {
18 ???????? protected ? override ? void ?OnInit(EventArgs?e)
19 ???????? {
20 ???????????? base .OnInit(e);
21 ????????????SSOCanaryChecker.AddCanary( this .Page);
22
23 ????????}

24
25 ???????? protected ? void ?Page_Load( object ?sender,?EventArgs?e)
26 ???????? {
27
28 ???????????? string []?rgCredentials? = ? null ;
29 ???????????? try
30 ???????????? {
31
32 ????????????????Credentials.GetCredentials( 1 ,? " chatroom " ,? ref ?rgCredentials);
33 ????????????????lb_username.Text? = ?rgCredentials[ 0 ].ToString();
34 ????????????????lb_pwd.Text? = ?rgCredentials[ 1 ].ToString();
35 ???????????????? string ?url? = ? " /chatroom/sso_login.asp?name= " ? + ?lb_username.Text? + ? " &pwd= " ? + ?lb_pwd.Text + ? "" ;
36 ????????????????lb_msg.Text? = ? " <a?href= " + url + " ?target='_blank'>進入聊天室</a> " ;
37 ????????????????
38 ????????????}

39
40 ???????????? catch ?(SingleSignonCredsNotFoundException?ssoe)?
41 ???????????? {?
42 ???????????????? // 在SSO數(shù)據(jù)庫中找不到當前用戶的信息
43 ??????????????? if ?(SSOReturnCodes.SSO_E_CREDS_NOT_FOUND? == ?ssoe.LastErrorCode)?
44
45 ???????????????? {
46 ???????????????????? string ?strSSOLogonFormURL = SingleSignonLocator.GetCredentialEntryUrl( " chatroom " );
47 ????????????????????lb_msg.Text? = ? " <a?href= " ? + ?strSSOLogonFormURL? + ? " >對不起!當前數(shù)據(jù)庫沒有您的登入信息憑證,請創(chuàng)建!</a> " ;
48 ????????????????}

49
50 ?????????????}
?
51 ????????}

52 ????}

53 }

ssowebpart.cs

?1 using ?System;
?2 using ?System.Collections;
?3 using ?System.Configuration;
?4 using ?System.Data;
?5 // using?System.Linq;
?6 using ?System.Web;
?7 using ?System.Web.Security;
?8 using ?System.Web.UI;
?9 using ?System.Web.UI.HtmlControls;
10 using ?System.Web.UI.WebControls;
11 using ?System.Web.UI.WebControls.WebParts;
12 using ?System.Xml.Linq;
13 using ?Microsoft.SharePoint;
14 using ?Microsoft.SharePoint.Portal;
15 using ?Microsoft.SharePoint.Portal.SingleSignon;
16
17 namespace ?SSOwebpart
18 {
19 ???? public ? partial ? class ?ssowebpart?:?System.Web.UI.UserControl
20 ???? {
21 ???????? protected ? void ?Page_Load( object ?sender,?EventArgs?e)
22 ???????? {
23
24 ????????}

25
26
27 ???????? // 單點登入用戶配置
28 ???????? protected ? void ?btn_save_Click( object ?sender,?EventArgs?e)
29 ???????? {
30 ???????????? if ?(txt_username.Text? == ? "" ? || ?txt_username.Text? == ? null )
31 ???????????? {
32 ????????????????lb_msg.Text? = ? " 請輸入用戶名! " ;
33 ???????????????? return ;
34 ??????????????
35 ????????????}

36 ???????????? if ?(txt_pwd.Text? == ? "" ? || ?txt_pwd.Text? == ? null )
37 ???????????? {
38 ????????????????lb_msg.Text? = ? " 密碼不為空! " ;
39 ???????????????? return ;
40 ????????????
41 ????????????}

42 ???????????? string []?rgSetCredentialData? = ? new ? string [ 2 ];
43 ????????????rgSetCredentialData[ 0 ]? = ? this .txt_username.Text;
44 ????????????rgSetCredentialData[ 1 ]? = ? this .txt_pwd.Text;
45 ???????????? try
46 ???????????? {
47 ???????????????Credentials.SetCredentials( 1 ,? " chatroom " ,?rgSetCredentialData);
48 ????????????}

49 ???????????? catch ?(SingleSignonException?esso)
50 ???????????? {
51 ???????????????? this .lb_msg.Text? = ?esso.Message? + ? " <br> " ? + ?esso.StackTrace;
52 ????????????}

53 ????????}

54 ????}

55 }


DEMO文件

moss2007單點登入小實踐


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产高清一区二区三区免费视频 | 天天做天天爱天天爽 | 亚州毛片 | 久久精品亚洲一区二区三区浴池 | 久草在线免费播放 | 亚洲国产精品久久综合 | 欧美激情欧美狂野欧美精品免费 | 久久成人免费网站 | 99在线观看免费视频 | 毛片视 | 日本夜夜夜 | 欧美午夜在线视频 | 国产精品婷婷久久爽一下 | 日韩一区二区三区在线视频 | 亚洲精品一区二区三区在线看 | 999视频在线播放777 | 日韩在线中文字幕 | 天天拍拍夜夜出水 | 看看免费a一片欧 | 99成人在线视频 | 精品国产一区二区二三区在线观看 | 狠狠色丁婷婷综合久久 | 日日添天天做天天爱 | 97午夜精品 | 国内在线视频 | 月婷婷色狠狠 | 国产成人亚洲欧美三区综合 | 久久一区不卡中文字幕 | 亚洲日韩欧美一区二区在线 | 久久综合九色综合97欧美 | 老妇女性较大毛片 | 亚洲国产韩国一区二区 | 97看片吧 | 亚洲欧洲尹人香蕉综合 | www.国产视频| 午夜影院福利 | 梦想成为魔法少女在线观看 | 久久国产精品国产精品 | 四虎影视免费看 | 亚洲人成伊人成综合网久久久 | 四虎影视1304t |