本文整理汇总了C#中IServiceBase.GetResolver方法的典型用法代码示例。如果您正苦于以下问题:C# IServiceBase.GetResolver方法的具体用法?C# IServiceBase.GetResolver怎么用?C# IServiceBase.GetResolver使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IServiceBase
的用法示例。
在下文中一共展示了IServiceBase.GetResolver方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TryAuthenticate
public override bool TryAuthenticate(IServiceBase authService, string userName, string password)
{
var authRepo = authService.TryResolve<IAuthRepository>().AsUserAuthRepository(authService.GetResolver());
var session = authService.GetSession();
IUserAuth userAuth;
if (authRepo.TryAuthenticate(userName, password, out userAuth))
{
if (IsAccountLocked(authRepo, userAuth))
return false;
// throw new AuthenticationException("This account has been locked");
var holdSessionId = session.Id;
session.PopulateWith(userAuth); //overwrites session.Id
session.Id = holdSessionId;
session.IsAuthenticated = true;
session.UserAuthId = userAuth.Id.ToString(CultureInfo.InvariantCulture);
session.ProviderOAuthAccess = authRepo.GetUserAuthDetails(session.UserAuthId)
.ConvertAll(x => (IAuthTokens)x);
return true;
}
return false;
}
示例2: Authenticate
public override object Authenticate(IServiceBase authService, IAuthSession session, Authenticate request)
{
var authRepo = authService.TryResolve<IAuthRepository>().AsUserAuthRepository(authService.GetResolver());
var apiRepo = (IManageApiKeys)authRepo;
var apiKey = apiRepo.GetApiKey(request.Password);
if (apiKey == null)
throw HttpError.NotFound("ApiKey does not exist");
if (apiKey.CancelledDate != null)
throw HttpError.Forbidden("ApiKey has been cancelled");
if (apiKey.ExpiryDate != null && DateTime.UtcNow > apiKey.ExpiryDate.Value)
throw HttpError.Forbidden("ApiKey has expired");
var userAuth = authRepo.GetUserAuth(apiKey.UserAuthId);
if (userAuth == null)
throw HttpError.Unauthorized("User for ApiKey does not exist");
if (IsAccountLocked(authRepo, userAuth))
throw new AuthenticationException(ErrorMessages.UserAccountLocked);
PopulateSession(authRepo, userAuth, session);
if (session.UserAuthName == null)
session.UserAuthName = userAuth.UserName ?? userAuth.Email;
var response = OnAuthenticated(authService, session, null, null);
if (response != null)
return response;
authService.Request.Items[Keywords.ApiKey] = apiKey;
return new AuthenticateResponse
{
UserId = session.UserAuthId,
UserName = session.UserName,
SessionId = session.Id,
DisplayName = session.DisplayName
?? session.UserName
?? "{0} {1}".Fmt(session.FirstName, session.LastName).Trim(),
ReferrerUrl = request.Continue,
};
}