Keystonejs在Admin UI登录页面上有一些错误:
在尝试访问Keystone Admin UI时,User
表示权限isAdmin = false
如果登录/通过是正确的Keystonejs屏幕说:"You're already signed in."
应该有这样的回答:“你没有权限”
它没有太多信息,所以我建议把它改成像"You don't have permissions".
所以问题:是否可以更改该消息的文本?
问题是您已使用有效凭据登录但未授予该用户访问管理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);
});