吃自己的狗粮,但扔一些未知的饼干以备不时之需

好吧, Jorge Aliss要求我编写的示例应用程序演示了SecureSocialDeadbolt的组合正在运行,并且运行良好,一旦完成了一点点的开发工作,我就会将其发布到github并推送它可能是Heroku。
Deadbolt是我从事的两个项目的结果,该项目需要一种特定的安全方法,而Play的任何现有模块都无法解决这一问题 框架 。 我编写并发布了该模块,每当我自己的项目或其他人的请求需要新功能时,该模块都会进行更新。 要用白话,我自己吃狗粮。
我们称我为A人,我吃自己的狗食。 其他人-让我们将它们汇总到一个实体中,B人…B人也吃我的狗食,也很美味。 根据我自己的经验,Deadbolt狗粮满足了我自己的高度专业谱系犬的所有营养需求,并且很高兴地满足了B人的宠物粮需求。 足够好……但是当您突然换狗和营养需求又需要完全不同的东西时该怎么办? 然后,您可能突然发现,您精心制作和模制的狗粮在应补充维生素的地方存在巨大的缺口。
狗食类比的结尾。 越来越烦人了。
我编写的演示应用程序SociallySecure允许您通过各种社交开放身份验证提供程序登录并创建一个帐户,然后可以将其链接到其他OAuth帐户。 链接后,您可以通过任何一个登录并进入您的个人SociallySecure帐户。 关键帐户是Twitter(目前,这只是一个演示!),因为当有人查看您的帐户页面时,安全性将应用于您的推文。 如果您是朋友,或者您已确定自己的推文应该公开,则用户可以看到您发过推文的所有特殊和平庸的事物以及关注的人。 如果您确定自己的推文仅对朋友可见,则当某人查看您的用户页面时,您的推文将不可见。 相当简单的东西,但是足以证明动态安全性。
非常简单的内容–除了我不仅要考虑已登录用户的用户特权,还要考虑该用户相对于另一个用户的特权的部分。
Deadbolt以视图级别的#restrictedresource标记和控制器级别的@RestrictedResource注释的形式提供动态检查。 如果您在控制器级别,则已经可以计算出所需的内容。 在视图级别,除非您能够传递其他信息,否则您几乎会头疼。 这就是Deadbolt的最新版本为您提供的功能,没有它,您的动态安全性将受到更为严格的限制,除非您“真的”跳过了一些麻烦。
如果您对它的工作方式感到好奇,则可以将字符串参数的映射传递给名为resourceParameters的标记参数-然后可以在RestrictedResourceHandler中使用此映射。 您可以通过两种方式使用它:
  • 您可以直接使用字符串键/值对
  • 该值可用于在请求,会话或缓存中进行查询
但是,此博客文章的重点是要强调,如果您打算以开源形式发布某些东西,那么一旦您涵盖了所有自己的用例之后,满足开发人员需求的机会就会更大。与另一个开发人员坐了几个小时,并要求他们使用它来开发相当复杂的东西。 发布产品时几乎会看到它–您可以对其进行反复测试,但是在产品投入使用的几个小时内,您几乎可以保证用户已发现错误。
将代码中严重缺失的间隙视为错误。 当代码按照您的想法运行时,它可以很好地运行,但是一旦它进入现实世界,您就会发现并不是每个人都喜欢您。

翻译自: https://www.javacodegeeks.com/2012/07/eat-your-own-dog-food-but-throw-in-some.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值