객체의 현재 상태로 인해 작동이 유효하지 않습니다.(엑스트라 넷 용)
-
10-12-2019 - |
문제
이 다음 코드를 사용하여 양식 기반 인증을 사용하는 엑스트라 넷에서 사용자를 가장합니다.
InvalidOperationException.
나는 AllUsers [4]가 존재한다는 것을 테스트하고 알고 있습니다.
.string siteStr = "http://mywebSiteUrl/"; SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite(siteStr)) { using (SPWeb web = site.OpenWeb()) { SPUserToken userToken = web.AllUsers[4].UserToken; SPSite s = new SPSite(siteStr, userToken); SPWeb w = s.OpenWeb(); myLiteral.Text = "Currently logged in as: " + w.CurrentUser.ToString() + "( " + w.CurrentUser.Name + ")"; } } });
해결책 2
The problem solved when You add the user to the site under site setting -> people and groups
다른 팁
Can you try following, I have just kept new SPSite and SPWeb object outside RunWithElevatedPrivileges
string siteStr = "http://mywebSiteUrl/";
SPUserToken userToken;
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(siteStr))
{
using (SPWeb web = site.OpenWeb())
{
userToken = web.AllUsers[4].UserToken;
}
}
});
SPSite s = new SPSite(siteStr, userToken);
SPWeb w = s.OpenWeb();
myLiteral.Text = "Currently logged in as: " + w.CurrentUser.ToString() + "( " + w.CurrentUser.Name + ")";
제휴하지 않습니다 sharepoint.stackexchange