小编Kim*_*nce的帖子

是否始终需要ACL?

对于具有高度复杂的访问控制规则的Web应用程序,您是否始终使用ACL?

在确定用户权限时,我有很多考虑因素,包括:

  • 他们登录了吗?
  • 他们是管理员还是普通用户?
  • 他们在图表中浏览节点吗?
  • 他们在浏览什么类型的节点?
  • 它们与节点的关系是什么(即节点的路径)?
  • 用户的默认设置是什么?
  • 节点的默认设置是什么?
  • 将用户连接到节点的图形边缘的设置是什么?
  • 等等

开发ACL证明是困难的.过了一会儿,我采取了对每个动作顶部的基本属性进行"if/then"检查,例如if(isAdmin) {...}

这似乎工作正常,我想知道是否应该将其作为永久解决方案留在原地.因此,问题是:访问控制的复杂性是否会超过ACL?或者只是我需要更努力一点?

acl design-patterns access-control rbac abac

3
推荐指数
1
解决办法
2604
查看次数

SQL查询中的多个联接

表A和表B之间有一对多,表B和表C之间也有一对多.我需要列出表B中的所有记录,以及表A中的父表和特定字段的总和(). C.我怎么能这样做?

我认为它是这样的:

SELECT A.fldlist, 
       B.fldlist, 
       SUM(C.field)
  FROM A 
  INNER JOIN B ON A.key = b.FK 
  LEFT OUTER JOIN C on B.key = C.FK
  GROUP BY B.field
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?非常感激...

sql sql-server sql-server-2008

2
推荐指数
1
解决办法
191
查看次数

按自然顺序选择底行

如何根据自然顺序选择表格的底部X行?我不能做"ORDER BY DESC ...",因为我没有按任何列号订购它......

我正在使用Sql Server 2008 R2.

sql-server

2
推荐指数
1
解决办法
3253
查看次数

Zend Framework:存储电子邮件模板的位置

我正在编写一个ZF应用程序,在某些操作发生时生成电子邮件,例如当用户注册时.我的默认邮件设置在Mail Resource插件中设置.

我的问题是,管理电子邮件模板的最佳方法是什么?它们可以是文本文件,.ini或代码本身.

在我看来,文本文件是最简单的,但我总是谨慎介绍另一种需要管理的文件类型.有没有人尝试过使用.ini?这是如何运作的?

zend-framework zend-mail

2
推荐指数
1
解决办法
522
查看次数

使用Zend Framework定义常量的位置

我想在Zend Framework中使用一些真正的常量.我知道我可以在index.php中设置它们,但是在运行PHPUnit测试时不会执行它.(不管怎么说,不管怎么说).

我怎么能在框架内设置这些?问题是常量需要在类外声明.(我不想要类常量).

如果所有其他方法都失败了,我可以在我的单元测试引导程序中设置它们,但是如果可能的话我想避免重复.

php zend-framework constants

2
推荐指数
1
解决办法
2654
查看次数

向Laravel应用程序添加服务层的效果

我使用Zend Framework进行开发已有多年,现在正在学习Laravel。

在我以前的应用程序中,我通常有一个由控制器调用的服务层。服务层位于映射器和域模型的顶部,负责某些应用程序逻辑,引发事件,某些输入过滤等。

我为什么不应该在Laravel中实现服务层?在到目前为止的示例中,控制器直接与域对象(或更准确地说,是活动记录)一起工作。

如果我的Laravel控制器调用我的服务层,我会失去Laravel的任何优势吗?(据我所知,我仍然可以使用Route / Model绑定)。

作为第二个问题-实施我的服务层的最佳方法是什么?作为服务提供商的集合,也许吗?

service-layer laravel

2
推荐指数
1
解决办法
6131
查看次数

Eloquent:如何将急切加载和按枢轴过滤结合起来?

我的模型之间存在多对多关系。对于给定的模型实例,我知道如何根据枢轴的值过滤相关模型。例如,对于用户和角色,我将使用:

User->roles()->wherePivot('admin',1);
Run Code Online (Sandbox Code Playgroud)

同样,我知道如何立即加载一组用户的所有角色:

User::where('active',1)->with('roles')->get();
Run Code Online (Sandbox Code Playgroud)

我想做的就是将这两个概念结合起来。例如,如何检索一组用户及其急切加载的角色,其中用户根据数据透视表上的字段进行过滤?

我意识到我可以使用原始 SQL 轻松完成此操作,但如果可能的话我更愿意使用 Eloquent。

laravel eloquent

2
推荐指数
1
解决办法
1419
查看次数

如何在 Laravel Markdown Mailable 中生成单个换行符

这是可邮寄的模板:

@component('mail::message')
Address line 1
Address line 2
Address line 3
@endcomponent
Run Code Online (Sandbox Code Playgroud)

这是生成的 HTML:

<p style="font-family: Avenir, Helvetica, sans-serif; box-sizing: border-box; color: #74787E; font-size: 16px; line-height: 1.5em; margin-top: 0; text-align: left;">Address line 1
Address line 2
Address line 3</p>
Run Code Online (Sandbox Code Playgroud)

当您在浏览器中显示此...

地址线 1 地址线 2 地址线 3

所以,我在这方面看到了其他几个 SO 问题,但他们没有解决我的问题。我试过在每一行后面加上两个空格,还有一个反斜杠。两者都没有任何影响。

markdown laravel

2
推荐指数
1
解决办法
2429
查看次数

关于静态成员,方法,上下文和关键字以及范围解析的好教程

我很难理解"静态"东西在PHP中是如何工作的.有人能指点我一个很好的教程吗?一个全面涵盖这个主题的人?

我理解在函数中使用静态变量,以及在类中使用静态成员.然而,除此之外,它有点模糊.

例如:我看到可以在不实例化类的情况下调用静态方法.不知道为什么这很重要,因为你可以用完全相同的方式调用非静态方法,只要它不引用$ this

后期静态绑定是另一个混​​乱的领域,以及我可以使用范围解析运算符的时间和地点.(看来我可以用它来调用父方法而不管它们是否是静态的......)

我是唯一一个苦苦挣扎的人吗?

php static

1
推荐指数
1
解决办法
1228
查看次数

Laravel:有没有一种方法可以删除数据库查询子句?

假设我的商店模型与产品的关系如下:

// shop model class

public function products()
{
    return $this->hasMany(Model\Product::class)
        ->orderBy('name');
}
Run Code Online (Sandbox Code Playgroud)

客户端代码(例如我的控制器)是否可以删除该orderBy()子句?

laravel eloquent

1
推荐指数
1
解决办法
1118
查看次数