diff --git a/src/umbraco.businesslogic/BasePages/BasePage.cs b/src/umbraco.businesslogic/BasePages/BasePage.cs
index ad849847dd..3f09e70cb3 100644
--- a/src/umbraco.businesslogic/BasePages/BasePage.cs
+++ b/src/umbraco.businesslogic/BasePages/BasePage.cs
@@ -131,23 +131,34 @@ namespace umbraco.BasePages
///
public static int GetUserId(string umbracoUserContextID)
{
+
+ Guid contextId;
+ if (!Guid.TryParse(umbracoUserContextID, out contextId))
+ {
+ return -1;
+ }
+
try
{
- if (System.Web.HttpRuntime.Cache["UmbracoUserContext" + umbracoUserContextID] == null)
+ if (HttpRuntime.Cache["UmbracoUserContext" + umbracoUserContextID] == null)
{
- System.Web.HttpRuntime.Cache.Insert(
+ var uId = SqlHelper.ExecuteScalar(
+ "select userID from umbracoUserLogins where contextID = @contextId",
+ SqlHelper.CreateParameter("@contextId", new Guid(umbracoUserContextID)));
+ if (!uId.HasValue)
+ {
+ return -1;
+ }
+
+ HttpRuntime.Cache.Insert(
"UmbracoUserContext" + umbracoUserContextID,
- SqlHelper.ExecuteScalar("select userID from umbracoUserLogins where contextID = @contextId",
- SqlHelper.CreateParameter("@contextId", new Guid(umbracoUserContextID))
- ),
+ uId.Value,
null,
System.Web.Caching.Cache.NoAbsoluteExpiration,
new TimeSpan(0, (int) (UmbracoTimeOutInMinutes/10), 0));
-
-
}
- return (int)System.Web.HttpRuntime.Cache["UmbracoUserContext" + umbracoUserContextID];
+ return (int)HttpRuntime.Cache["UmbracoUserContext" + umbracoUserContextID];
}
catch