Merge pull request #1537 from micro/rule-priority

Add Priority to auth rules
This commit is contained in:
ben-toogood 2020-04-15 11:42:53 +01:00 committed by GitHub
commit f1e6eff303
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 100 additions and 57 deletions

View File

@ -802,6 +802,7 @@ type Rule struct {
Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"` Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"`
Resource *Resource `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"` Resource *Resource `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"`
Access Access `protobuf:"varint,4,opt,name=access,proto3,enum=go.micro.auth.Access" json:"access,omitempty"` Access Access `protobuf:"varint,4,opt,name=access,proto3,enum=go.micro.auth.Access" json:"access,omitempty"`
Priority int32 `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -860,6 +861,13 @@ func (m *Rule) GetAccess() Access {
return Access_UNKNOWN return Access_UNKNOWN
} }
func (m *Rule) GetPriority() int32 {
if m != nil {
return m.Priority
}
return 0
}
type CreateRequest struct { type CreateRequest struct {
Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"`
Resource *Resource `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"` Resource *Resource `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"`
@ -1133,63 +1141,64 @@ func init() {
func init() { proto.RegisterFile("auth/service/proto/auth.proto", fileDescriptor_21300bfacc51fc2a) } func init() { proto.RegisterFile("auth/service/proto/auth.proto", fileDescriptor_21300bfacc51fc2a) }
var fileDescriptor_21300bfacc51fc2a = []byte{ var fileDescriptor_21300bfacc51fc2a = []byte{
// 885 bytes of a gzipped FileDescriptorProto // 897 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0x4f, 0x6f, 0xdc, 0x54, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0x4f, 0x8f, 0xdb, 0x54,
0x10, 0x8f, 0xed, 0x5d, 0xef, 0x66, 0xf6, 0x4f, 0x56, 0xaf, 0x69, 0xb1, 0xdc, 0xa6, 0xa4, 0x2e, 0x10, 0x5f, 0xdb, 0x89, 0x93, 0x9d, 0x24, 0xbb, 0xd1, 0xeb, 0xb6, 0x58, 0x6e, 0xb7, 0x6c, 0x5d,
0x42, 0xa1, 0x82, 0x0d, 0xda, 0x5e, 0x80, 0x5e, 0x88, 0xba, 0xab, 0xa5, 0x85, 0x2e, 0xc2, 0x2a, 0x84, 0x96, 0x0a, 0xb2, 0x28, 0xbd, 0x00, 0xbd, 0xb0, 0x6a, 0xa2, 0xd0, 0x42, 0x83, 0xb0, 0x8a,
0x2a, 0x17, 0x54, 0x19, 0xef, 0x40, 0xac, 0x6c, 0x6c, 0xf3, 0xde, 0x73, 0x44, 0x2e, 0x48, 0x9c, 0xca, 0x05, 0x55, 0xc6, 0x19, 0x58, 0x6b, 0xb3, 0xb6, 0x79, 0xef, 0x79, 0x45, 0x2e, 0x48, 0x9c,
0xb8, 0x71, 0xe2, 0x23, 0xf0, 0xb1, 0xb8, 0xf3, 0x35, 0xd0, 0xfb, 0xe7, 0xac, 0xbd, 0xde, 0x2a, 0xf8, 0x02, 0x7c, 0x04, 0x4e, 0x7c, 0x26, 0xee, 0x7c, 0x0d, 0xf4, 0xfe, 0x79, 0x63, 0xc7, 0xa9,
0x82, 0x1c, 0x7a, 0x7b, 0xf3, 0xc7, 0x33, 0xf3, 0xfb, 0xcd, 0xbc, 0xf1, 0x83, 0x83, 0xa8, 0xe0, 0x56, 0xb0, 0x87, 0xde, 0xde, 0xbc, 0x19, 0xcf, 0xcc, 0xef, 0x37, 0x7f, 0xfc, 0xe0, 0x30, 0x2a,
0xa7, 0xc7, 0x0c, 0xe9, 0x45, 0x12, 0xe3, 0x71, 0x4e, 0x33, 0x9e, 0x1d, 0x0b, 0xd5, 0x58, 0x1e, 0xf8, 0xd9, 0x09, 0x43, 0x7a, 0x99, 0xc4, 0x78, 0x92, 0xd3, 0x8c, 0x67, 0x27, 0xe2, 0x6a, 0x24,
0xc9, 0xe0, 0xa7, 0x6c, 0x7c, 0x9e, 0xc4, 0x34, 0x1b, 0x0b, 0x65, 0x70, 0x1b, 0x6e, 0x7d, 0x95, 0x8f, 0x64, 0xf0, 0x53, 0x36, 0xba, 0x48, 0x62, 0x9a, 0x8d, 0xc4, 0x65, 0x70, 0x1b, 0x6e, 0x7d,
0x30, 0x7e, 0x12, 0xc7, 0x59, 0x91, 0x72, 0x16, 0xe2, 0xcf, 0x05, 0x32, 0x1e, 0x3c, 0x87, 0xfd, 0x95, 0x30, 0x7e, 0x1a, 0xc7, 0x59, 0x91, 0x72, 0x16, 0xe2, 0xcf, 0x05, 0x32, 0x1e, 0x3c, 0x87,
0xaa, 0x9a, 0xe5, 0x59, 0xca, 0x90, 0x4c, 0xa0, 0x1b, 0x69, 0x9d, 0x67, 0x1d, 0x3a, 0x47, 0xbd, 0x83, 0xea, 0x35, 0xcb, 0xb3, 0x94, 0x21, 0x19, 0x43, 0x37, 0xd2, 0x77, 0x9e, 0x75, 0xe4, 0x1c,
0xc9, 0x9d, 0x71, 0x25, 0xe0, 0x58, 0x7f, 0x12, 0x96, 0x7e, 0xc1, 0x6f, 0x16, 0xb4, 0x5f, 0x66, 0xf7, 0xc6, 0x77, 0x46, 0x15, 0x87, 0x23, 0xfd, 0x49, 0x58, 0xda, 0x05, 0xbf, 0x59, 0xd0, 0x7e,
0x67, 0x98, 0x92, 0x07, 0xd0, 0x8f, 0xe2, 0x18, 0x19, 0x7b, 0xcd, 0x85, 0xec, 0x59, 0x87, 0xd6, 0x99, 0x9d, 0x63, 0x4a, 0x1e, 0x40, 0x3f, 0x8a, 0x63, 0x64, 0xec, 0x35, 0x17, 0xb2, 0x67, 0x1d,
0xd1, 0x6e, 0xd8, 0x53, 0x3a, 0xe5, 0xf2, 0x10, 0x06, 0x14, 0x7f, 0xa4, 0xc8, 0x4e, 0xb5, 0x8f, 0x59, 0xc7, 0xbb, 0x61, 0x4f, 0xdd, 0x29, 0x93, 0x87, 0x30, 0xa0, 0xf8, 0x23, 0x45, 0x76, 0xa6,
0x2d, 0x7d, 0xfa, 0x5a, 0xa9, 0x9c, 0x3c, 0xe8, 0xc4, 0x14, 0x23, 0x8e, 0x4b, 0xcf, 0x39, 0xb4, 0x6d, 0x6c, 0x69, 0xd3, 0xd7, 0x97, 0xca, 0xc8, 0x83, 0x4e, 0x4c, 0x31, 0xe2, 0xb8, 0xf0, 0x9c,
0x8e, 0x9c, 0xd0, 0x88, 0xe4, 0x0e, 0xb8, 0xf8, 0x4b, 0x9e, 0xd0, 0x4b, 0xaf, 0x25, 0x0d, 0x5a, 0x23, 0xeb, 0xd8, 0x09, 0x8d, 0x48, 0xee, 0x80, 0x8b, 0xbf, 0xe4, 0x09, 0x5d, 0x79, 0x2d, 0xa9,
0x0a, 0xfe, 0xb4, 0xa1, 0xa3, 0x2b, 0x23, 0x43, 0xb0, 0x93, 0xa5, 0xce, 0x6d, 0x27, 0x4b, 0x42, 0xd0, 0x52, 0xf0, 0x87, 0x0d, 0x1d, 0x9d, 0x19, 0xd9, 0x03, 0x3b, 0x59, 0xe8, 0xd8, 0x76, 0xb2,
0xa0, 0xc5, 0x2f, 0x73, 0xd4, 0x99, 0xe4, 0x99, 0xec, 0x43, 0x9b, 0x66, 0x2b, 0x64, 0x9e, 0x73, 0x20, 0x04, 0x5a, 0x7c, 0x95, 0xa3, 0x8e, 0x24, 0xcf, 0xe4, 0x00, 0xda, 0x34, 0x5b, 0x22, 0xf3,
0xe8, 0x1c, 0xed, 0x86, 0x4a, 0x20, 0x9f, 0x43, 0xf7, 0x1c, 0x79, 0xb4, 0x8c, 0x78, 0xe4, 0xb5, 0x9c, 0x23, 0xe7, 0x78, 0x37, 0x54, 0x02, 0xf9, 0x1c, 0xba, 0x17, 0xc8, 0xa3, 0x45, 0xc4, 0x23,
0x24, 0xfa, 0xf7, 0x9a, 0xd1, 0x8f, 0x5f, 0x68, 0xb7, 0x59, 0xca, 0xe9, 0x65, 0x58, 0x7e, 0x45, 0xaf, 0x25, 0xd1, 0xbf, 0xd7, 0x8c, 0x7e, 0xf4, 0x42, 0x9b, 0x4d, 0x53, 0x4e, 0x57, 0x61, 0xf9,
0xee, 0xc1, 0x6e, 0x1a, 0x9d, 0x23, 0xcb, 0xa3, 0x18, 0xbd, 0xb6, 0x4c, 0x78, 0xa5, 0x20, 0x3e, 0x15, 0xb9, 0x07, 0xbb, 0x69, 0x74, 0x81, 0x2c, 0x8f, 0x62, 0xf4, 0xda, 0x32, 0xe0, 0xd5, 0x05,
0x74, 0x73, 0x9a, 0x5d, 0x24, 0x4b, 0xa4, 0x9e, 0x2b, 0x8d, 0xa5, 0x2c, 0x90, 0x31, 0x8c, 0x29, 0xf1, 0xa1, 0x9b, 0xd3, 0xec, 0x32, 0x59, 0x20, 0xf5, 0x5c, 0xa9, 0x2c, 0x65, 0x81, 0x8c, 0x61,
0x72, 0xaf, 0x23, 0x2d, 0x5a, 0xf2, 0x9f, 0xc0, 0xa0, 0x92, 0x8c, 0x8c, 0xc0, 0x39, 0xc3, 0x4b, 0x4c, 0x91, 0x7b, 0x1d, 0xa9, 0xd1, 0x92, 0xff, 0x04, 0x06, 0x95, 0x60, 0x64, 0x08, 0xce, 0x39,
0x8d, 0x4f, 0x1c, 0x05, 0x98, 0x8b, 0x68, 0x55, 0x18, 0x84, 0x4a, 0xf8, 0xcc, 0xfe, 0xc4, 0x0a, 0xae, 0x34, 0x3e, 0x71, 0x14, 0x60, 0x2e, 0xa3, 0x65, 0x61, 0x10, 0x2a, 0xe1, 0x33, 0xfb, 0x13,
0x56, 0xd0, 0x0d, 0x91, 0x65, 0x05, 0x8d, 0x51, 0xd0, 0x20, 0x2a, 0xd1, 0x1f, 0xca, 0x73, 0x23, 0x2b, 0x58, 0x42, 0x37, 0x44, 0x96, 0x15, 0x34, 0x46, 0x41, 0x83, 0xc8, 0x44, 0x7f, 0x28, 0xcf,
0x35, 0x3e, 0x74, 0x31, 0x5d, 0xe6, 0x59, 0x92, 0x72, 0xc9, 0xfe, 0x6e, 0x58, 0xca, 0x55, 0x78, 0x8d, 0xd4, 0xf8, 0xd0, 0xc5, 0x74, 0x91, 0x67, 0x49, 0xca, 0x25, 0xfb, 0xbb, 0x61, 0x29, 0x57,
0xad, 0x1a, 0xbc, 0xe0, 0x2f, 0x1b, 0xf6, 0xe6, 0x98, 0x22, 0x8d, 0x38, 0xea, 0x41, 0xdb, 0x68, 0xe1, 0xb5, 0x6a, 0xf0, 0x82, 0x3f, 0x6d, 0xd8, 0x9f, 0x61, 0x8a, 0x34, 0xe2, 0xa8, 0x1b, 0x6d,
0x46, 0x49, 0xbc, 0xbd, 0x4e, 0xfc, 0x17, 0x6b, 0xc4, 0x3b, 0x92, 0xf8, 0x0f, 0x6b, 0xc4, 0xd7, 0xa3, 0x18, 0x25, 0xf1, 0xf6, 0x3a, 0xf1, 0x5f, 0xac, 0x11, 0xef, 0x48, 0xe2, 0x3f, 0xac, 0x11,
0xe2, 0x5e, 0xaf, 0x01, 0xf5, 0x0a, 0xd7, 0x48, 0x6e, 0xaf, 0x93, 0x5c, 0xf2, 0xe0, 0x56, 0x79, 0x5f, 0xf3, 0x7b, 0xbd, 0x02, 0xd4, 0x33, 0x5c, 0x23, 0xb9, 0xbd, 0x4e, 0x72, 0xc9, 0x83, 0x5b,
0x28, 0x9b, 0xd5, 0xa9, 0x36, 0xeb, 0xff, 0x35, 0x65, 0x0a, 0xa3, 0x2b, 0x34, 0xfa, 0xde, 0x7d, 0xe5, 0xa1, 0x2c, 0x56, 0xa7, 0x5a, 0xac, 0xff, 0x57, 0x94, 0x09, 0x0c, 0xaf, 0xd0, 0xe8, 0xb9,
0x0c, 0x1d, 0x7d, 0x9f, 0x64, 0x8c, 0xed, 0xd7, 0xce, 0xb8, 0x05, 0xaf, 0xa0, 0x3f, 0xa7, 0x51, 0xfb, 0x18, 0x3a, 0x7a, 0x9e, 0xa4, 0x8f, 0xed, 0x63, 0x67, 0xcc, 0x82, 0x57, 0xd0, 0x9f, 0xd1,
0xca, 0x0d, 0xd1, 0x04, 0x5a, 0x82, 0x4b, 0xd3, 0x5e, 0x71, 0x26, 0x8f, 0xa1, 0x4b, 0x75, 0xfb, 0x28, 0xe5, 0x86, 0x68, 0x02, 0x2d, 0xc1, 0xa5, 0x29, 0xaf, 0x38, 0x93, 0xc7, 0xd0, 0xa5, 0xba,
0x65, 0x19, 0xbd, 0xc9, 0x3b, 0xb5, 0xb0, 0x66, 0x3a, 0xc2, 0xd2, 0x31, 0xd8, 0x83, 0x81, 0x0e, 0xfc, 0x32, 0x8d, 0xde, 0xf8, 0x9d, 0x9a, 0x5b, 0xd3, 0x1d, 0x61, 0x69, 0x18, 0xec, 0xc3, 0x40,
0xac, 0x6a, 0x0b, 0xbe, 0x83, 0x41, 0x88, 0x17, 0xd9, 0x19, 0xde, 0x78, 0xaa, 0x11, 0x0c, 0x4d, 0x3b, 0x56, 0xb9, 0x05, 0xdf, 0xc1, 0x20, 0xc4, 0xcb, 0xec, 0x1c, 0x6f, 0x3c, 0xd4, 0x10, 0xf6,
0x64, 0x9d, 0xeb, 0x7d, 0x18, 0x3e, 0x4b, 0x59, 0x8e, 0x71, 0x89, 0x6b, 0x1f, 0xda, 0xeb, 0xcb, 0x8c, 0x67, 0x1d, 0xeb, 0x7d, 0xd8, 0x7b, 0x96, 0xb2, 0x1c, 0xe3, 0x12, 0xd7, 0x01, 0xb4, 0xd7,
0x44, 0x09, 0xc1, 0x53, 0xd8, 0x2b, 0xfd, 0xfe, 0x33, 0x85, 0xbf, 0x42, 0x5f, 0xee, 0x9b, 0x6d, 0x97, 0x89, 0x12, 0x82, 0xa7, 0xb0, 0x5f, 0xda, 0xfd, 0x67, 0x0a, 0x7f, 0x85, 0xbe, 0xdc, 0x37,
0xb3, 0x7a, 0x35, 0x2d, 0x76, 0x65, 0x5a, 0x36, 0x76, 0x98, 0xd3, 0xb0, 0xc3, 0x1e, 0x40, 0x5f, 0xdb, 0x7a, 0xf5, 0xaa, 0x5b, 0xec, 0x4a, 0xb7, 0x6c, 0xec, 0x30, 0xa7, 0x61, 0x87, 0x3d, 0x80,
0x1a, 0x5f, 0x57, 0xf6, 0x55, 0x4f, 0xea, 0x66, 0x6a, 0x69, 0x3d, 0x81, 0x81, 0xce, 0xaf, 0x21, 0xbe, 0x54, 0xbe, 0xae, 0xec, 0xab, 0x9e, 0xbc, 0x9b, 0xaa, 0xa5, 0xf5, 0x04, 0x06, 0x3a, 0xbe,
0x3c, 0x5a, 0xc7, 0xda, 0x9b, 0xec, 0xd7, 0x00, 0x28, 0x67, 0xcd, 0xc0, 0x1f, 0x16, 0xb4, 0xc2, 0x86, 0xf0, 0x68, 0x1d, 0x6b, 0x6f, 0x7c, 0x50, 0x03, 0xa0, 0x8c, 0x35, 0x03, 0x7f, 0x59, 0xd0,
0x62, 0x85, 0x4d, 0xeb, 0x4e, 0x76, 0xc7, 0xde, 0xd2, 0x1d, 0xe7, 0x9a, 0xdd, 0x21, 0x1f, 0x81, 0x0a, 0x8b, 0x25, 0x36, 0xad, 0x3b, 0x59, 0x1d, 0x7b, 0x4b, 0x75, 0x9c, 0x6b, 0x56, 0x87, 0x7c,
0xab, 0x36, 0xb7, 0xac, 0x7d, 0x38, 0xb9, 0xbd, 0xc9, 0x27, 0x32, 0x16, 0x6a, 0xa7, 0xe0, 0x77, 0x04, 0xae, 0xda, 0xdc, 0x32, 0xf7, 0xbd, 0xf1, 0xed, 0x4d, 0x3e, 0x91, 0xb1, 0x50, 0x1b, 0xa9,
0x0b, 0x06, 0x4f, 0xe5, 0x9a, 0xbe, 0xe9, 0x39, 0x59, 0xab, 0xc4, 0xb9, 0x4e, 0x25, 0x23, 0x18, 0x79, 0x49, 0x32, 0x9a, 0xf0, 0x95, 0x9c, 0xae, 0x76, 0x58, 0xca, 0xc1, 0xef, 0x16, 0x0c, 0x9e,
0x9a, 0x42, 0xf4, 0x58, 0x89, 0xda, 0xa6, 0xb8, 0xc2, 0xb7, 0xa2, 0x36, 0x53, 0x88, 0xae, 0x6d, 0xca, 0x15, 0x7e, 0xd3, 0x3d, 0xb4, 0x96, 0xa5, 0x73, 0x8d, 0x2c, 0x45, 0xcb, 0x99, 0x44, 0x74,
0x00, 0x3d, 0xf1, 0x2b, 0x36, 0x7f, 0xe6, 0x4f, 0xa1, 0xaf, 0x44, 0x3d, 0x13, 0x1f, 0x40, 0x9b, 0xcb, 0x89, 0xdc, 0x26, 0xb8, 0xc4, 0xb7, 0x22, 0x37, 0x93, 0x88, 0xce, 0x6d, 0x00, 0x3d, 0xf1,
0x16, 0x62, 0x61, 0xaa, 0xdf, 0xf1, 0xad, 0x7a, 0x45, 0xc5, 0x0a, 0x43, 0xe5, 0xf1, 0x68, 0x0c, 0x9b, 0x36, 0x7f, 0xed, 0x4f, 0xa1, 0xaf, 0x44, 0xdd, 0x2f, 0x1f, 0x40, 0x9b, 0x16, 0x62, 0x99,
0xae, 0xca, 0x46, 0x7a, 0xd0, 0xf9, 0x76, 0xf1, 0xe5, 0xe2, 0xeb, 0x57, 0x8b, 0xd1, 0x8e, 0x10, 0xaa, 0x5f, 0xf5, 0xad, 0x7a, 0x46, 0xc5, 0x12, 0x43, 0x65, 0xf1, 0x68, 0x04, 0xae, 0x8a, 0x46,
0xe6, 0xe1, 0xc9, 0xe2, 0xe5, 0x6c, 0x3a, 0xb2, 0x08, 0x80, 0x3b, 0x9d, 0x2d, 0x9e, 0xcd, 0xa6, 0x7a, 0xd0, 0xf9, 0x76, 0xfe, 0xe5, 0xfc, 0xeb, 0x57, 0xf3, 0xe1, 0x8e, 0x10, 0x66, 0xe1, 0xe9,
0x23, 0x7b, 0xf2, 0x8f, 0x05, 0xad, 0x93, 0x82, 0x9f, 0x92, 0x17, 0xd0, 0x35, 0x1b, 0x89, 0xdc, 0xfc, 0xe5, 0x74, 0x32, 0xb4, 0x08, 0x80, 0x3b, 0x99, 0xce, 0x9f, 0x4d, 0x27, 0x43, 0x7b, 0xfc,
0x7f, 0xf3, 0xe2, 0xf5, 0xdf, 0xdd, 0x6a, 0xd7, 0x78, 0x76, 0xc8, 0x73, 0xe8, 0xe8, 0xcb, 0x49, 0x8f, 0x05, 0xad, 0xd3, 0x82, 0x9f, 0x91, 0x17, 0xd0, 0x35, 0xdb, 0x8a, 0xdc, 0x7f, 0xf3, 0x52,
0x0e, 0x6a, 0xde, 0xd5, 0xcb, 0xed, 0xdf, 0xdf, 0x66, 0x2e, 0x63, 0x4d, 0xcd, 0xdb, 0xe2, 0x6e, 0xf6, 0xdf, 0xdd, 0xaa, 0xd7, 0x78, 0x76, 0xc8, 0x73, 0xe8, 0xe8, 0xc1, 0x25, 0x87, 0x35, 0xeb,
0xe3, 0x65, 0xd0, 0x71, 0xee, 0x35, 0x1b, 0x4d, 0x94, 0xc9, 0xf7, 0xd0, 0x35, 0x4f, 0x1d, 0xf2, 0xea, 0xe0, 0xfb, 0xf7, 0xb7, 0xa9, 0x4b, 0x5f, 0x13, 0xf3, 0xee, 0xb8, 0xdb, 0x38, 0x28, 0xda,
0x0d, 0xb4, 0x04, 0xc1, 0x24, 0xa8, 0x7d, 0xd3, 0xf0, 0x4c, 0xf2, 0x1f, 0xbe, 0xd1, 0xa7, 0x0c, 0xcf, 0xbd, 0x66, 0xa5, 0xf1, 0x32, 0xfe, 0x1e, 0xba, 0xe6, 0x19, 0x44, 0xbe, 0x81, 0x96, 0x20,
0xff, 0xb7, 0x05, 0x6d, 0xd1, 0x08, 0x46, 0xe6, 0xe0, 0xaa, 0xd1, 0x23, 0xf5, 0x92, 0x2a, 0x57, 0x98, 0x04, 0xb5, 0x6f, 0x1a, 0x9e, 0x50, 0xfe, 0xc3, 0x37, 0xda, 0x94, 0xee, 0xff, 0xb6, 0xa0,
0xc3, 0x3f, 0xd8, 0x62, 0x2d, 0x71, 0xcf, 0xc1, 0x55, 0x73, 0xb2, 0x11, 0xa8, 0x32, 0xc7, 0x1b, 0x2d, 0x0a, 0xc1, 0xc8, 0x0c, 0x5c, 0xd5, 0x7a, 0xa4, 0x9e, 0x52, 0x65, 0x34, 0xfc, 0xc3, 0x2d,
0x81, 0x6a, 0xc3, 0xb5, 0x43, 0x4e, 0x34, 0x5c, 0xbf, 0x01, 0x8a, 0x09, 0x72, 0xb7, 0xd1, 0x66, 0xda, 0x12, 0xf7, 0x0c, 0x5c, 0xd5, 0x27, 0x1b, 0x8e, 0x2a, 0x7d, 0xbc, 0xe1, 0xa8, 0xd6, 0x5c,
0x42, 0xfc, 0xe0, 0xca, 0x97, 0xe5, 0xe3, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x8c, 0xe4, 0x2e, 0x3b, 0xe4, 0x54, 0xc3, 0xf5, 0x1b, 0xa0, 0x18, 0x27, 0x77, 0x1b, 0x75, 0xc6, 0xc5, 0x0f, 0xae,
0x5a, 0x7a, 0x0a, 0x00, 0x00, 0x7c, 0x75, 0x3e, 0xfe, 0x37, 0x00, 0x00, 0xff, 0xff, 0xe8, 0xcd, 0x03, 0x66, 0x96, 0x0a, 0x00,
0x00,
} }
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.

View File

@ -107,6 +107,7 @@ message Rule {
string role = 2; string role = 2;
Resource resource = 3; Resource resource = 3;
Access access = 4; Access access = 4;
int32 priority = 5;
} }
message CreateRequest { message CreateRequest {

View File

@ -3,6 +3,7 @@ package service
import ( import (
"context" "context"
"fmt" "fmt"
"sort"
"strings" "strings"
"sync" "sync"
"time" "time"
@ -290,6 +291,11 @@ func (s *svc) listRules(filters ...string) []*pb.Rule {
rules = append(rules, r) rules = append(rules, r)
} }
// sort rules by priority
sort.Slice(rules, func(i, j int) bool {
return rules[i].Priority < rules[j].Priority
})
return rules return rules
} }

View File

@ -0,0 +1,26 @@
package service
import (
"testing"
pb "github.com/micro/go-micro/v2/auth/service/proto"
)
func TestListRulesSorting(t *testing.T) {
s := &svc{
rules: []*pb.Rule{
&pb.Rule{Priority: 1},
&pb.Rule{Priority: 3},
&pb.Rule{Priority: 2},
},
}
var priorities []int32
for _, r := range s.listRules() {
priorities = append(priorities, r.Priority)
}
if priorities[0] != 1 || priorities[1] != 2 || priorities[2] != 3 {
t.Errorf("Incorrect Rule Sequence")
}
}

1
go.mod
View File

@ -64,6 +64,7 @@ require (
golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59 golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59
golang.org/x/net v0.0.0-20200222125558-5a598a2470a0 golang.org/x/net v0.0.0-20200222125558-5a598a2470a0
golang.org/x/time v0.0.0-20191024005414-555d28b269f0 // indirect golang.org/x/time v0.0.0-20191024005414-555d28b269f0 // indirect
google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1
google.golang.org/grpc v1.26.0 google.golang.org/grpc v1.26.0
gopkg.in/src-d/go-git.v4 v4.13.1 gopkg.in/src-d/go-git.v4 v4.13.1
gopkg.in/telegram-bot-api.v4 v4.6.4 gopkg.in/telegram-bot-api.v4 v4.6.4