日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MOSS2010单点登录

發(fā)布時間:2025/4/5 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MOSS2010单点登录 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

進入管理中心》應用程序管理》

?

然后找到? Secure Store Service 應用程序代理

然后就是新建了

?

輸入系統(tǒng)賬戶

這個時候SharePoint就知道你需要給OA這個系統(tǒng)做單點登錄了。

下一步就是我們要把我們進OA系統(tǒng)的帳號密碼告訴SharePoint,讓他記住當前登錄域賬戶所存的OA賬戶。

下面我們模擬一下OA系統(tǒng)登錄頁面

<html><body><form id=form1 action='dologin.aspx'> <input type='text' name='name'/> <input type='password' name='pwd'/><input type='submit' value='login'/> </form> </body> </html>

OA的主頁是http://OA/index.aspx 這是一個簡單的登錄頁面代碼,我們從代碼得知,

這個form要提交的頁面是 http://OA/dologin.aspx? ,

登錄名name

密碼pwd

?

那我們登錄也需要這幾個元素。在我們的moss中創(chuàng)建一個列表SSOList。

應用程序名稱,就是一個顯示用的,好讓你知道是啥系統(tǒng),SSPkey就是我們前面創(chuàng)建的OA 唯一標識。。。你懂得。

那下一步我們就該寫代碼了。

先整理下思路,我要先在SSOList這個列表中讀出來我們登錄的系統(tǒng)。

比如讀取列表 然后拼出來,這個你懂得,我就不寫了。

我們有OA的登錄信息了,也有在管理中心建立OA了,那一步我們是不是改往SSO里面存儲登錄的帳號密碼了?

比如我們OA的賬戶:zhangsan密碼:123456

這個時候我們創(chuàng)建一個webpart。然后創(chuàng)建一個應用程序頁面 aspx。

這個頁面是專門來存賬戶和密碼的。

/// <summary>/// 在SSO中存儲當前登錄用戶的配置的第三方系統(tǒng)單點登錄的帳號和密碼/// </summary>/// <param name="ssosetting"></param>private void InsertSSO(string ssokey,string loginname,string loginpwd){string userloginname = SPContext.Current.Web.CurrentUser.LoginName;if (!string.IsNullOrEmpty(ssokey) && !string.IsNullOrEmpty(loginname) && !string.IsNullOrEmpty(loginpwd)){string[] userinfo = { loginname, loginpwd};SetUserCredentials(ssokey, userinfo, userloginname);}}/// <summary> /// 設置指定用戶的登陸憑據(jù) /// </summary> /// <param name="appId">業(yè)務系統(tǒng)標識</param> /// <param name="userInfo">憑據(jù)信息</param> /// <param name="userLoginName">MOSS登陸帳號: domainName\LoginName</param> public static void SetUserCredentials(string appId, string[] userInfo, string userLoginName){try{SPSecurity.RunWithElevatedPrivileges(delegate(){List<SecureStoreCredential> creds = new List<SecureStoreCredential>();SecureStoreCredential name = new SecureStoreCredential(toSecureString(userInfo[0]), SecureStoreCredentialType.UserName);SecureStoreCredential pwd = new SecureStoreCredential(toSecureString(userInfo[1]), SecureStoreCredentialType.Password);creds.Add(name);creds.Add(pwd);SecureStoreCredentialCollection credes = new SecureStoreCredentialCollection(creds.ToArray());SecureStoreServiceProxy proxySs = new SecureStoreServiceProxy();SPContext.Current.Site.AllowUnsafeUpdates = true;SPContext.Current.Web.AllowUnsafeUpdates = true;SPServiceContext context = SPServiceContext.GetContext(SPContext.Current.Site);ISecureStore store = proxySs.GetSecureStore(context);SPClaim claim = SPClaimProviderManager.Local.ConvertIdentifierToClaim(userLoginName, SPIdentifierTypes.WindowsSamAccountName);store.SetUserCredentials(appId, new SecureStoreServiceClaim(claim), credes);});}catch { }}

這個方法就會把你當前登錄人對應OA的賬戶密碼儲存在moss的OA里面

OK,現(xiàn)在賬戶也存儲了,列表也有了。下一步就是登錄了。

在新建一個頁面SSOSignOn.aspx

我們不是把列表里面的數(shù)據(jù)讀出來了嗎?下一步點這個OA連接跳轉到SSOSignOn.aspx頁面。

需要傳幾個參數(shù),登錄請求頁面,賬戶的name值。密碼的name值。登錄成功后跳轉的頁面。雖然我們登錄后,OA系統(tǒng)會自動跳轉到登錄成功頁面,

之所以這么做。是因為我們的單點登錄不是都要登錄OA首頁的,比如我們要直接登錄到OA的其他功能模塊。

這個時候我們就不能登錄成功后,還到OA首頁了吧。

言歸正傳,我們SSOSignOn.aspx頁面要處理些什么呢?

模擬OA的登錄頁面登錄。

QQ群:69022156

?

轉載于:https://www.cnblogs.com/NetUser/archive/2012/03/13/2393857.html

總結

以上是生活随笔為你收集整理的MOSS2010单点登录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。