1.在用Secure Store Service获取用户信息以前须要配置SSS。web
2.如下代码是获取用户信息:app
using (SPSite site = new SPSite(webUrl)) { SecureStoreProvider prov = new SecureStoreProvider(); SPServiceContext context = SPServiceContext.GetContext(site); prov.Context = context; //current user information try { SecureStoreCredentialCollection cc = prov.GetCredentials(appId); for (int i = 0; i < cc.Count; i++) { ISecureStoreCredential c = cc[i]; IntPtr ptr = System.Runtime.InteropServices.Marshal.SecureStringToBSTR(c.Credential); string sDecrypString = System.Runtime.InteropServices.Marshal.PtrToStringUni(ptr); credentialList.Add(sDecrypString); } } catch (Exception ex) { throw ex; }
注意:有的时候会在上图红线的地方报错:Secure Store Service did not performed the operationide
形成这里的缘由是咱们的spa
SPServiceContext context = SPServiceContext.GetContext(site)的site咱们用的SPContext.Current.Site.因此将此处的代码修改为如上
using (SPSite site = new SPSite(webUrl))就能够正常解决。