def _authenticate(self, username, password): ''' Try to authenticate user. Throw AuthError for invalid users. ''' user = users.get_user_by_name(username) if not user: raise errors.AuthError('No such user.') if not auth.is_valid_password(user, password): raise errors.AuthError('Invalid password.') return user
def _authenticate_token(username: str, token: str) -> Tuple[model.User, model.UserToken]: ''' Try to authenticate user. Throw AuthError for invalid users. ''' user = users.get_user_by_name(username) user_token = user_tokens.get_by_user_and_token(user, token) if not auth.is_valid_token(user_token): raise errors.AuthError('잘못된 토큰입니다.') return user, user_token
def update_user_rank(user, rank, authenticated_user): if not rank: raise InvalidRankError('Rank cannot be empty.') rank = util.flip(auth.RANK_MAP).get(rank.strip(), None) all_ranks = list(auth.RANK_MAP.values()) if not rank: raise InvalidRankError('Rank can be either of %r.' % all_ranks) if rank in (db.User.RANK_ANONYMOUS, db.User.RANK_NOBODY): raise InvalidRankError('Rank %r cannot be used.' % auth.RANK_MAP[rank]) if all_ranks.index(authenticated_user.rank) \ < all_ranks.index(rank) and get_user_count() > 0: raise errors.AuthError('Trying to set higher rank than your own.') user.rank = rank
def update_user_rank(user: model.User, rank: str, auth_user: model.User) -> None: assert user if not rank: raise InvalidRankError('등급은 빈 값일 수 없습니다.') rank = util.flip(auth.RANK_MAP).get(rank.strip(), None) all_ranks = list(auth.RANK_MAP.values()) if not rank: raise InvalidRankError('등급은 다음중 하나여야 합니다: %r' % all_ranks) if rank in (model.User.RANK_ANONYMOUS, model.User.RANK_NOBODY): raise InvalidRankError('등급 %r 은(는) 사용할 수 없습니다.' % auth.RANK_MAP[rank]) if all_ranks.index(auth_user.rank) \ < all_ranks.index(rank) and get_user_count() > 0: raise errors.AuthError('당신보다 높은 등급을 지정할 수 없습니다.') user.rank = rank
def update_user_rank(user: model.User, rank: str, auth_user: model.User) -> None: assert user if not rank: raise InvalidRankError("Rank cannot be empty.") rank = util.flip(auth.RANK_MAP).get(rank.strip(), None) all_ranks = list(auth.RANK_MAP.values()) if not rank: raise InvalidRankError("Rank can be either of %r." % all_ranks) if rank in (model.User.RANK_ANONYMOUS, model.User.RANK_NOBODY): raise InvalidRankError("Rank %r cannot be used." % auth.RANK_MAP[rank]) if (all_ranks.index(auth_user.rank) < all_ranks.index(rank) and get_user_count() > 0): raise errors.AuthError("Trying to set higher rank than your own.") user.rank = rank
def _authenticate(username: str, password: str) -> model.User: ''' Try to authenticate user. Throw AuthError for invalid users. ''' user = users.get_user_by_name(username) if not auth.is_valid_password(user, password): raise errors.AuthError('Invalid password.') return user
def verify_privilege(user: model.User, privilege_name: str) -> None: assert user if not has_privilege(user, privilege_name): raise errors.AuthError("Insufficient privileges to do this.")
def _authenticate_basic_auth(username: str, password: str) -> model.User: """ Try to authenticate user. Throw AuthError for invalid users. """ user = users.get_user_by_name(username) if not auth.is_valid_password(user, password): raise errors.AuthError("Invalid password.") return user
def verify_privilege(user: model.User, privilege_name: str) -> None: assert user if not has_privilege(user, privilege_name): raise errors.AuthError('이 작업을 수행할 권한이 없습니다.')