在Secure class Play中渲染移动版登录!骨架

时间:2012-02-23 11:13:02

标签: security mobile login playframework

是否有可能以某种方式覆盖Play中Secure-Module的Secure.java类的登录方法!框架,以便显示另一个版本的登录表单?

在我的情况下,如果检测到移动浏览器,我想显示登录表单的移动版本。

我知道我不应该更改Secure.java类本身,但我真的没有看到任何其他解决此问题的方法。

2 个答案:

答案 0 :(得分:3)

正如其他posts中所述,您的Play中有request!控制器。因此,在此请求中,您可以询问哪个代理正在尝试查看您的网站:

String agentInfo = request.headers.get("user-agent");

您可以确定将为此代理呈现哪个模板:

if (agentType.isWhatEverHeIs) {
  renderTemplate("Application\mobileTemplateForBadPractise.html");   
} else {
  render();
}

但我鼓励你做的是responsive webdevelopment。尽可能智能地创建模板,让模板和css和javascript执行此操作,并将您的业务逻辑保留在控制器中。

您可以使用Twitter Bootstrap来实现这一目标,但还有更多!与Skeleton一样。

您甚至在模板中获得了request对象,以便您可以根据代理选择(或不)在模板中渲染内容。

答案 1 :(得分:0)

更简单,只需创建/覆盖secure/login.html模板并使用响应式设计:媒体查询。无需更改控制器或检查代理等。