Keystonejs:更改管理员UI登录屏幕消息

问题描述 投票:0回答:1

Keystonejs在Admin UI登录页面上有一些错误:

在尝试访问Keystone Admin UI时,User表示权限isAdmin = false

如果登录/通过是正确的Keystonejs屏幕说:"You're already signed in."

应该有这样的回答:“你没有权限”

它没有太多信息,所以我建议把它改成像"You don't have permissions".

所以问题:是否可以更改该消息的文本?

javascript node.js keystonejs
1个回答
0
投票

问题是您已使用有效凭据登录但未授予该用户访问管理UI的权限。没有canAccessKeystone权限的用户(如在Keystone 4.0.0中)没有默认路径。我认为一般的假设是非管理员用户不应该登录Keystone管理员,但经过身份验证的会话对API端点仍然有用。

所以问题:是否可以更改该消息的文本?

我不知道只改变这条消息的简单方法,但是如果你热衷于此,你可以随时修改Keystone 4.0源代码以满足自己的要求,submit a pull request可以考虑将其合并到项目中。我在Keystone的GitHub问题跟踪器中创建了issue #4786,以改善成功登录但无权访问管理UI的用户的消息。

在此期间,一种可能的解决方法是使用keystone signin redirect配置来设置首选入口点,该入口点可以处理所有用户类型或适当地重定向。

例如,您可以将以下内容添加到keystone.js配置中:

keystone.set('signin redirect', '/gohome')

/gohome路由可以呈现页面或基于用户属性进行简单的重定向:

app.get('/gohome', function(req, res) {
    var url = (req.user && req.user.canAccessKeystone) ? '/keystone' : '/user';
    res.redirect(url);
});
© www.soinside.com 2019 - 2024. All rights reserved.