members: add multiuser profile.

This commit is contained in:
Miroslav Šedivý
2023-09-25 18:28:05 +02:00
parent d09e421a51
commit 8753e7b69a
4 changed files with 67 additions and 24 deletions

View File

@ -38,34 +38,20 @@ func (provider *MemberProviderCtx) Authenticate(username string, password string
// if logged in as administrator
if provider.config.AdminPassword == password {
return id, types.MemberProfile{
Name: username,
IsAdmin: true,
CanLogin: true,
CanConnect: true,
CanWatch: true,
CanHost: true,
CanShareMedia: true,
CanAccessClipboard: true,
SendsInactiveCursor: true,
CanSeeInactiveCursors: true,
}, nil
profile := provider.config.AdminProfile
if profile.Name == "" {
profile.Name = username
}
return id, profile, nil
}
// if logged in as user
if provider.config.UserPassword == password {
return id, types.MemberProfile{
Name: username,
IsAdmin: false,
CanLogin: true,
CanConnect: true,
CanWatch: true,
CanHost: true,
CanShareMedia: true,
CanAccessClipboard: true,
SendsInactiveCursor: true,
CanSeeInactiveCursors: false,
}, nil
profile := provider.config.UserProfile
if profile.Name == "" {
profile.Name = username
}
return id, profile, nil
}
return "", types.MemberProfile{}, types.ErrMemberInvalidPassword

View File

@ -1,6 +1,10 @@
package multiuser
import "github.com/demodesk/neko/pkg/types"
type Config struct {
AdminPassword string
UserPassword string
AdminProfile types.MemberProfile
UserProfile types.MemberProfile
}