本文整理汇总了Golang中common.User.HasReadAccess方法的典型用法代码示例。如果您正苦于以下问题:Golang User.HasReadAccess方法的具体用法?Golang User.HasReadAccess怎么用?Golang User.HasReadAccess使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类common.User
的用法示例。
在下文中一共展示了User.HasReadAccess方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: ExecuteQuery
func (self *LevelDbDatastore) ExecuteQuery(user common.User, database string,
query *parser.SelectQuery, yield func(*protocol.Series) error,
ringFilter func(database, series *string, time *int64) bool) error {
seriesAndColumns := query.GetReferencedColumns()
hasAccess := true
for series, columns := range seriesAndColumns {
if regex, ok := series.GetCompiledRegex(); ok {
seriesNames := self.getSeriesForDbAndRegex(database, regex)
for _, name := range seriesNames {
if !user.HasReadAccess(name) {
hasAccess = false
continue
}
err := self.executeQueryForSeries(database, name, columns, query, yield, ringFilter)
if err != nil {
return err
}
}
} else {
if !user.HasReadAccess(series.Name) {
hasAccess = false
continue
}
err := self.executeQueryForSeries(database, series.Name, columns, query, yield, ringFilter)
if err != nil {
return err
}
}
}
if !hasAccess {
return fmt.Errorf("You don't have permission to access one or more time series")
}
return nil
}
示例2: checkPermission
func (self *CoordinatorImpl) checkPermission(user common.User, querySpec *parser.QuerySpec) error {
// if this isn't a regex query do the permission check here
fromClause := querySpec.SelectQuery().GetFromClause()
for _, n := range fromClause.Names {
if _, ok := n.Name.GetCompiledRegex(); ok {
break
} else if name := n.Name.Name; !user.HasReadAccess(name) {
return fmt.Errorf("User doesn't have read access to %s", name)
}
}
return nil
}