Playframework 安全模块和国际化
我正在使用 Play 中的标准安全模块! 1.2.2.
在此讨论中,我了解了如何复制视图模板对于安全模块:
play secure:ov --css
play secure:ov --login
play secure:ov --layout
或者您可以将相关文件复制到 app/views/Secure
和 /public/stylesheets
中。
但我的身份验证应该使用与英语不同的语言。错误消息位于模块源代码中的 Play!分发:models/secure/conf/messages
。
是否有任何正确的方法可以在不接触模块源本身的情况下自定义该文件?在我的应用程序中创建 conf/secure/messages
没有任何效果。
消息目录不仅由视图使用(我可以轻松更改),而且在生成错误消息时也由安全控制器使用。我想避免仅仅为了这六个消息而分叉安全模块。
感谢您的阅读,维克托。
I'm using the standard Secure module from Play! 1.2.2.
In this discussion I've seen how to copy the view template for the Secure module:
play secure:ov --css
play secure:ov --login
play secure:ov --layout
or one can just copy yourself the relevant files to app/views/Secure
and /public/stylesheets
.
But my authentication should be in a different language than English. The error messages are in the module source, in the Play! distribution: models/secure/conf/messages
.
Is there any proper way of customising that file without touching the module source itself? Creating a conf/secure/messages
in my application does not have any effect.
The message catalogue is not only used by the view - which I could easily change - but also by the Secure controller, when generating an error message. I'd like to avoid forking the Secure module just for these six messages.
Thanks for reading, Viktor.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
安全模块通常是“分叉”的,并为许多应用程序定制,不要害怕这样做。理论上,从 models/secure/conf/messages 中删除密钥并将它们移动到应用程序 conf/messages 应该可以做到。
但如果您遇到问题,只需将模块的内容复制到您的项目中即可。您已经自定义了其中的大部分内容(外观和感觉),因此复制 1 个类、1 个注释和 1 个标签应该是一个错误处理:)
The Secure module is usually "forked" and customized for many applications, don't be afraid to do so. In theory removing the keys from the models/secure/conf/messages and moving them to the app conf/messages should do it.
But if you have problems, just copy the contents of the module to your project. You are already customizing most of it (the look and feel) so copying 1 class, 1 annotation and 1 tag should be a bug deal :)