本文整理汇总了C#中IAuthRepository.GetUserAuth方法的典型用法代码示例。如果您正苦于以下问题:C# IAuthRepository.GetUserAuth方法的具体用法?C# IAuthRepository.GetUserAuth怎么用?C# IAuthRepository.GetUserAuth使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IAuthRepository
的用法示例。
在下文中一共展示了IAuthRepository.GetUserAuth方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HasAllPermissions
public bool HasAllPermissions(IRequest req, IAuthSession session, IAuthRepository userAuthRepo=null)
{
if (HasAllPermissions(session)) return true;
if (userAuthRepo == null)
userAuthRepo = req.TryResolve<IAuthRepository>();
if (userAuthRepo == null) return false;
var userAuth = userAuthRepo.GetUserAuth(session, null);
session.UpdateSession(userAuth);
if (HasAllPermissions(session))
{
req.SaveSession(session);
return true;
}
return false;
}
示例2: HasAnyPermissions
public bool HasAnyPermissions(IRequest req, IAuthSession session, IAuthRepository authRepo)
{
if (HasAnyPermissions(session, authRepo)) return true;
if (authRepo == null)
authRepo = HostContext.AppHost.GetAuthRepository(req);
if (authRepo == null)
return false;
using (authRepo as IDisposable)
{
var userAuth = authRepo.GetUserAuth(session, null);
session.UpdateSession(userAuth);
if (HasAnyPermissions(session, authRepo))
{
req.SaveSession(session);
return true;
}
return false;
}
}
示例3: ValidateAccount
protected virtual IHttpResult ValidateAccount(IServiceBase authService, IAuthRepository authRepo, IAuthSession session, IAuthTokens tokens)
{
var userAuth = authRepo.GetUserAuth(session, tokens);
var authFeature = HostContext.GetPlugin<AuthFeature>();
if (authFeature != null && authFeature.ValidateUniqueUserNames && UserNameAlreadyExists(authRepo, userAuth, tokens))
{
return authService.Redirect(FailedRedirectUrlFilter(this, GetReferrerUrl(authService, session).SetParam("f", "UserNameAlreadyExists")));
}
if (authFeature != null && authFeature.ValidateUniqueEmails && EmailAlreadyExists(authRepo, userAuth, tokens))
{
return authService.Redirect(FailedRedirectUrlFilter(this, GetReferrerUrl(authService, session).SetParam("f", "EmailAlreadyExists")));
}
if (IsAccountLocked(authRepo, userAuth, tokens))
{
return authService.Redirect(FailedRedirectUrlFilter(this, GetReferrerUrl(authService, session).SetParam("f", "AccountLocked")));
}
return null;
}
示例4: ValidateAccount
protected virtual IHttpResult ValidateAccount(IServiceBase authService, IAuthRepository authRepo, IAuthSession session, IAuthTokens tokens)
{
var userAuth = authRepo.GetUserAuth(session, tokens);
var isLocked = userAuth != null && userAuth.LockedDate != null;
if (isLocked)
{
session.IsAuthenticated = false;
authService.SaveSession(session, SessionExpiry);
return authService.Redirect(session.ReferrerUrl.AddHashParam("f", "AccountLocked"));
}
return null;
}
示例5: ValidateAccount
protected virtual IHttpResult ValidateAccount(IServiceBase authService, IAuthRepository authRepo, IAuthSession session, IAuthTokens tokens)
{
var userAuth = authRepo.GetUserAuth(session, tokens);
if (EmailAlreadyExists(authRepo, userAuth, tokens))
{
return authService.Redirect(GetReferrerUrl(authService, session).AddHashParam("f", "EmailAlreadyExists"));
}
if (IsAccountLocked(authRepo, userAuth, tokens))
{
return authService.Redirect(GetReferrerUrl(authService, session).AddHashParam("f", "AccountLocked"));
}
return null;
}
示例6: ValidateAccount
protected virtual IHttpResult ValidateAccount(IServiceBase authService, IAuthRepository authRepo, IAuthSession session, IAuthTokens tokens)
{
var userAuth = authRepo.GetUserAuth(session, tokens);
if (ValidateUniqueEmails && tokens != null && tokens.Email != null)
{
var userWithEmail = authRepo.GetUserAuthByUserName(tokens.Email);
if (userWithEmail == null) return null;
var isAnotherUser = userAuth == null || (userAuth.Id != userWithEmail.Id);
if (isAnotherUser)
{
return authService.Redirect(session.ReferrerUrl.AddHashParam("f", "EmailAlreadyExists"));
}
}
if (userAuth == null) return null;
var isLocked = userAuth.LockedDate != null;
if (isLocked)
{
return authService.Redirect(session.ReferrerUrl.AddHashParam("f", "AccountLocked"));
}
return null;
}