Started integrating authorization services.

This commit is contained in:
Shannon
2013-06-17 01:06:31 +02:00
parent 9cc95aba0e
commit b50658121d
25 changed files with 276 additions and 80 deletions

View File

@@ -5,5 +5,7 @@ namespace Umbraco.Core.Persistence.Repositories
internal interface IUserRepository : IRepositoryQueryable<int, IUser>
{
IProfile GetProfileById(int id);
IProfile GetProfileByUserName(string username);
IUser GetUserByUserName(string username);
}
}

View File

@@ -147,6 +147,39 @@ namespace Umbraco.Core.Persistence.Repositories
return new Profile(dto.Id, dto.UserName);
}
public IProfile GetProfileByUserName(string username)
{
var sql = GetBaseQuery(false);
sql.Where(GetBaseWhereClause(), new { Username = username });
var dto = Database.FirstOrDefault<UserDto>(sql);
if (dto == null)
return null;
return new Profile(dto.Id, dto.UserName);
}
public IUser GetUserByUserName(string username)
{
var sql = GetBaseQuery(false);
sql.Where(GetBaseWhereClause(), new { Username = username });
var dto = Database.FirstOrDefault<UserDto>(sql);
if (dto == null)
return null;
return new User(_userTypeRepository.Get(dto.Type))
{
Id = dto.Id,
Email = dto.Email,
Language = dto.UserLanguage,
Name = dto.UserName
};
}
#endregion
}
}