11

我正在尝试保护我的游戏应用程序,但我不知道从哪里开始。在游戏教程中,我没有找到任何关于该主题的章节。据我所知,游戏版本之间的安全主题正在发生变化。那么你们用什么来保护你们的应用程序。我是 Play 新手,所以如果我提出明显的问题,请原谅我。

编辑:好的,也许问题不够清楚(我真的很抱歉)。在谈论安全性时,我的意思是我需要一些东西来处理用户凭据和工具,它允许我限制对某些页面的访问,并最终限制我的应用程序中的一些休息操作。

Edit2:我现在试试 deadbolt2,看看它是如何工作的。但我仍然鼓励你们与他人分享有关 Play 安全性的知识:)

4

3 回答 3

4

关于这个主题的文档似乎仍然有点乏味,但本质上,身份验证/授权功能通常使用 Action 组合来执行,这是 Play 中可重用控制器代码的基础。这里有一个例子(也链接自文档,应该可以帮助您了解总体思路。)

Play 2.2.x 中的动作组合是使用ActionBuilders完成的。这些接受一个请求并返回一个Future[SimpleResult]. 这允许操作构建器执行给定的块,或返回不同的块Future[SimpleResult](例如,Unauthorized在用户凭据未签出的情况下)。

在我们的应用程序中,我们使用Play2-auth模块来处理会话 cookie 的身份验证。这已(刚刚)更新为可与 Play 2.2.x 一起使用,但使用稍微不同的动作组合机制(可堆叠控制器)。您最好弄清楚如何仅使用本机框架工具来完成所需的精确功能在添加依赖项之前。

于 2013-09-25T17:40:19.977 回答
2

我同意其他答案,但只是补充说我使用securesocial与其他身份验证提供商(谷歌、FB等)集成,所以我不必自己进行身份验证。启动和运行非常容易。

https://github.com/jaliss/securesocial

于 2013-10-24T20:29:12.267 回答
1

访问控制、安全等是一个非常广泛的话题,因为根据上下文的不同,它的含义也大不相同。这可能是 Play 文档很少的原因之一,一开始我也很困惑。

Play2 有一些安全助手,即它的Authenticated方法,关于如何使用它的一些见解,请查看源代码中的注释。它是一种简单的方法,您可以自己实现,而且大多数都可以实现。本质上,它只是提出了一个结构,用于放置您的方法,以检查请求是否经过身份验证以及如果不是,该怎么办。

Play2 也有一些加密逻辑,用于签署 cookie。

就是这样,你没有更多预先构建的安全结构,但这是一件好事,因为你不希望框架为你做出这样的决定,如果它不知道它将在什么上下文中用过的。

重要的是去研究如何执行与您的应用程序相关的攻击、最佳实践等。我建议去 OWASP,尤其是OWASP Cheat Sheets。如果备忘单列表看起来令人生畏,请从 OWASP 十大备忘单开始。不要介意大量的信息,这是非常有用的知识。

于 2013-09-27T15:02:27.800 回答