diff --git a/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs b/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
index 11516f0a06..4c0aaa22f0 100644
--- a/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
+++ b/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
@@ -101,11 +101,19 @@ namespace OpenSim.Framework.Communications.Cache
m_userProfile = userProfile;
}
- public CachedUserInfo(CommunicationsManager commsManager, UserProfileData userProfile, IClientAPI remoteClient)
+ ///
+ /// Constructor
+ ///
+ ///
+ ///
+ ///
+ /// Session id of the user. This is used in subsequent security checks.
+ ///
+ public CachedUserInfo(CommunicationsManager commsManager, UserProfileData userProfile, LLUUID sessionId)
{
m_commsManager = commsManager;
m_userProfile = userProfile;
- m_session_id = remoteClient.SessionId;
+ m_session_id = sessionId;
}
///
diff --git a/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs b/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs
index d6421b0d64..5f98c085be 100644
--- a/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs
+++ b/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs
@@ -71,7 +71,7 @@ namespace OpenSim.Framework.Communications.Cache
if (!m_userProfiles.ContainsKey(remoteClient.AgentId))
{
UserProfileData userProfile = m_commsManager.UserService.GetUserProfile(remoteClient.AgentId);
- CachedUserInfo userInfo = new CachedUserInfo(m_commsManager, userProfile, remoteClient);
+ CachedUserInfo userInfo = new CachedUserInfo(m_commsManager, userProfile, remoteClient.SessionId);
if (userInfo.UserProfile != null)
{
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs
index 108c1d006b..2b3ffd8299 100644
--- a/OpenSim/Region/Application/OpenSimBase.cs
+++ b/OpenSim/Region/Application/OpenSimBase.cs
@@ -689,6 +689,13 @@ namespace OpenSim
m_log.ErrorFormat("[CONSOLE]: Failed to find user {0} {1}", firstName, lastName);
return;
}
+
+ CachedUserInfo userInfo = m_commsManager.UserProfileCacheService.GetUserDetails(userProfile.ID);
+ if (null == userInfo)
+ {
+ m_log.ErrorFormat("[CONSOLE]: Failed to find user info for {0} {1} {2}", firstName, lastName, userProfile.ID);
+ return;
+ }
}
///