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

moss2007單點登入小實踐

系統 1855 0

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

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



3:點擊進入聊天室
moss2007單點登入小實踐
下面來闡述下具體的實現思路:
1:知道要繼承單點登入的第三方系統的驗證方式,然后單點登入提交的方式一般用到POST 或GET 進行提交。
2:主要用到SSO 中的Credentials類的兩個方法分別為:SetCredentials(配置單點登入信息)。GetCredentials(獲取用戶的配置信息)
實現的方式:A首先打開管理中心-操作-單點登入配置。進行SSO的相關設置。
這塊的資料網上也很多,配置步驟可以直接借鑒 十一的博客
B:新建一個web應用程序
筆者在這新建兩個頁面:Getusermsg.ascx 和ssowebpart.ascx.添加Microsoft.Sharepoint.Portal.SingleSingon.dll ,Microsoft.Sharepoint.Portal.dll
代碼如下:
Getusermsg.cs
注意:下面代碼中第三方系統的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數據庫中找不到當前用戶的信息
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? + ? " >對不起!當前數據庫沒有您的登入信息憑證,請創建!</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單點登入小實踐


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产最新精品精品视频 | 国内色视频 | 精品一区二区视频在线观看 | 欧美人成毛片在线播放 | 国产欧美日韩精品一区二 | 伊人久久丁香色婷婷啪啪 | 国产伦久视频免费观看 视频 | 精品一区二区三区在线观看l | 四虎在线影视 | 99热国产精品 | 天天舔天天射天天操 | 91麻豆精品国产91久久久久 | 国产色视频 | 久久综合九色综合网站 | 久久久久久久久久久96av | 国内精品一区二区三区最新 | 手机看片福利在线 | 亚洲欧美一区二区三区在线 | 欧美高清无砖专区欧美精品 | 免费一极毛片 | 亚洲高清中文字幕一区二区三区 | 五月婷婷激情 | 国产精品99久久久久久夜夜嗨 | 九九这里有精品 | 国产精品视频2021 | 国产成人综合久久 | 九九国产在线视频 | 美女一级免费毛片 | 高清国产在线 | 欧美日韩网站 | 欧美中文网 | 思思久久99热这里只有精品66 | 激情五月宗合网 | 91麻豆精品一二三区在线 | 中文字幕 国产精品 | 一级黄网站 | 黄视频在线观看www 黄视频在线观看网站 | 四虎永久在线观看免费网站网址 | 九九视频免费看 | 婷婷视频在线观看 | 亚洲一区二区三区在线网站 |