diff --git a/src/Orchard.Web/Modules/Orchard.Users/Orchard.Users.csproj b/src/Orchard.Web/Modules/Orchard.Users/Orchard.Users.csproj
index c7bcf942c..7ed8d86b2 100644
--- a/src/Orchard.Web/Modules/Orchard.Users/Orchard.Users.csproj
+++ b/src/Orchard.Web/Modules/Orchard.Users/Orchard.Users.csproj
@@ -101,6 +101,7 @@
+
diff --git a/src/Orchard.Web/Modules/Orchard.Users/Services/UserNameIdentityResolver.cs b/src/Orchard.Web/Modules/Orchard.Users/Services/UserNameIdentityResolver.cs
new file mode 100644
index 000000000..63aa2e7ee
--- /dev/null
+++ b/src/Orchard.Web/Modules/Orchard.Users/Services/UserNameIdentityResolver.cs
@@ -0,0 +1,37 @@
+using System.Collections.Generic;
+using Orchard.ContentManagement;
+using Orchard.Users.Models;
+
+namespace Orchard.Gallery.Services {
+ public class PackageIdentityResolverSelector : IIdentityResolverSelector {
+ private readonly IContentManager _contentManager;
+
+ public PackageIdentityResolverSelector(IContentManager contentManager) {
+ _contentManager = contentManager;
+ }
+
+ public IdentityResolverSelectorResult GetResolver(ContentIdentity contentIdentity) {
+ if (contentIdentity.Has("User.UserName")) {
+ return new IdentityResolverSelectorResult {
+ Priority = 0,
+ Resolve = ResolveIdentity
+ };
+ }
+
+ return null;
+ }
+
+ private IEnumerable ResolveIdentity(ContentIdentity identity) {
+ var identifier = identity.Get("User.UserName");
+
+ if (identifier == null) {
+ return null;
+ }
+
+ return _contentManager
+ .Query()
+ .Where(p => p.NormalizedUserName == identifier)
+ .List();
+ }
+ }
+}
\ No newline at end of file