Play Framework Secure Module:登录JSON响应接口
Posted
技术标签:
【中文标题】Play Framework Secure Module:登录JSON响应接口【英文标题】:Play Framework Secure Module: Login for JSON response interface 【发布时间】:2012-07-16 08:52:06 【问题描述】:我正在使用 play 框架提供的安全模块。现在我尝试访问受安全模块保护的控制器方法以获取 JSON 响应。有没有办法在不使用提供的登录表单的情况下访问此方法?例如以用户名和密码作为 url 参数
谢谢,乔
【问题讨论】:
【参考方案1】:不直接,不。 Secure 模块专为基于 UI 的身份验证而设计。也就是说,使用 HTTP 身份验证围绕控制器构建安全性非常简单。
有许多选项,具体取决于您的用例如何完成这项工作。如果您正在构建 RESTful Web 服务,那么使用 HTTP Auth 可能是要走的路,但如果您使用的是已经使用登录页面的 AJAX,那么检查 cookie 可能是您的答案。
如果您查看Http.Request
对象,您会看到它包含用户名和密码字段。这些专门用于 HTTP 身份验证。因此,您可以执行以下操作
public static void myJSONAction()
if ("secretuser".equals(request.user) && "secret".equals(request.password))
// do some JSON
else
// tell them they are not authorised to this content
unauthorized( "Secret Realm" );
或者,如果您的 JSON 在网站上用作 AJAX,我会很想检查安全模块的 cookie(查看源以找到 cookie 的名称)以确定登录用户是谁.
【讨论】:
以上是关于Play Framework Secure Module:登录JSON响应接口的主要内容,如果未能解决你的问题,请参考以下文章
Apache mod_secure,禁用包含“1---”的cookie规则
Play Framework:如何不查看文件夹以了解 Play Framework 中的更改