问题标签 [rhino-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2085 浏览

c# - 如何实现 C# Rhino 安全性

我正在尝试实施 Rhino Security,我设法找到了一些教程,但他们没有提供足够的信息来完全理解它,我想知道是否有人知道从哪里了解 Rhino Security 的好来源。或者建议使用 NHibernate 实现安全性的替代方案。

Rhino Security 中的任何方法/类是否有某种文档?

0 投票
1 回答
272 浏览

nhibernate - 使用 Oracle 和 Nhibernate 3.0 的 Rhino 安全性

如何将 Ayende 的 Rhino Security 与 Oracle 数据库的休眠应用程序一起使用?

NHibernate 版本是 3.0,我读到 Rhino Security 需要 2.0 版本。

请为我提供最佳实践

谢谢

0 投票
3 回答
1519 浏览

asp.net-mvc-2 - 查找要在 ASP.NET MVC 项目上使用的授权框架

我有一个 asp.net mvc 项目,持久性由 repositories 处理。使用表单身份验证。现在我需要实施授权。例如,我需要确保经理用户只能打开他/她的任务并将工作人员分配给任务。工作人员只会看到分配给他/她的任务。超级版主可以编辑所有内容。是否有任何现成的框架允许我定义权限?

我正在评估 Ayende Rhino Security 。我在哪里可以获得更多示例代码?您对于 Rhino Security 的观点是?
我的项目使用 Linq to SQL 并没有使用 NHibernate。Rhino Security 可以在没有 NHibernate 的情况下工作吗?

0 投票
1 回答
1407 浏览

nhibernate - Nhibernate 和 SetCacheable 与二级缓存

我正在使用 Rhino.Security 存储库来管理我的用户/角色。
创建、删除和关联的过程运行良好,但是当我使用一种方法查询时遇到了问题:GetAssociatedUsersGroupFor。
第一次调用该方法时,我没有为我的用户获取任何组,因为我还没有创建任何关联。在这一点上,我将一个用户与几个组相关联。
我签入数据库,我可以看到关联。
现在我再次调用 GetAssociatedUsersGroupFor 但我无法获得任何组。
使用探查器,我看到这次没有涉及数据库。我检查了代码,发现该函数使用了 Nhibernate SetCacheable:

由于我不想更改 Rhino.Security 代码,我想知道我是否可以以任何方式覆盖或更改此行为。

更新:

我使用此指令来获取关联的组:

我与此代码相关联:

并分离:

更新

我发现我在配置中留下了二级缓存:

我认为拥有二级缓存是一件好事,可以提高性能,但似乎我完全错了。
有没有人可以帮助我了解这里发生了什么?

0 投票
1 回答
534 浏览

nhibernate - 指示 StructureMap 创建一个新会话(仅在释放时)

我正在将StructureMapNhibernate一起使用,并且我想指示该工具在每次需要时构建一个新会话,并且只有在被处置时。
我将尝试用一些代码来解释(这是一个控制台应用程序)。

我以这种方式构建我的会话工厂(ConnDb 是我的连接字符串):

这是我用来构建会话的代码:

当我不处理会话时,一切都按预期工作,但我希望能够执行以下操作:

我试图更改会话的代码,如下所示:

但我注意到现在即使有一个活动会话也会创建一个新会话。在我的情况下,我引用了另一个组件(Rhino.Security),它使用服务定位器解析 ISession。

0 投票
2 回答
488 浏览

asp.net-mvc - Rhino.Security:DetachedCriteria 永远不会命中二级缓存

我已经实现了一个涉及 Rhino.Security 来管理用户/角色/权限的解决方案。
因为我想检查用户是否有权访问控制器操作,所以我实现了一个自定义操作过滤器:

CheckAuthorizationOnOperation调用 Rhino.Security 来检查是否允许用户进行指定的操作:

一切正常,但我注意到当IsAllowed调用的查询被执行时,二级缓存永远不会被命中。
我进行了调查,发现框架(Rhino.Security)使用了DetachedCriteria。这些是两个称为:

如您所见, FindResults使用SetCacheable

每次我刷新页面时,我的操作过滤器都会执行过程并再次执行查询,忽略缓存(二级)。由于我广泛使用缓存并且所有其他调用都正常工作,我想了解为什么这个不能按预期工作。

做一些研究我注意到只有当我调用该函数两次时才使用二级缓存:

似乎这种特殊情况的缓存仅在我使用相同的会话(nHibernate)时才有效。有没有人可以帮助我弄清楚发生了什么?

更新: 在此处输入图像描述

0 投票
1 回答
226 浏览

nhibernate - Rhino Security 和 POCO 类

看来如果我想在一个实体上使用 Rhino Security,该实体需要有一个 Guid 类型的 SecurityKey 字段。我看到了一个例子,其中实体类的构造函数有一个分配 SecurityKey 的语句

构造函数每次都分配一个新的 Guid SecurityKey。我不明白为什么会这样。它不应该只为尚未持久化的新实体分配新的 Guid 吗?

0 投票
1 回答
166 浏览

nhibernate - Rhino Security ,获取所有用户组

我正在使用ayende 的Rhino Security 。有没有使用安全框架获取用户组列表的方法?

0 投票
1 回答
215 浏览

asp.net-mvc - 组件及其容器上的 Rhino Security

假设我有一个实体 Product ,每个产品都有一个 Category (作为 category_id , cat_name )。假设我在 Category 上建立了操作 /Category/Read 的权限,并在 Product 上建立了操作 /Product/Read 的权限。操作 /Product/Read 的 IsAllow 是否由对产品的权限和 Category 的权限共同决定?

要求是某些用途只能看到某些类别而不是全部。如果用户看不到某个类别,则与该类别关联的所有产品对该用户也将不可见。

我应该如何在 Rhino Security 中实现这个?

0 投票
1 回答
175 浏览

rhino - 从 Rhino shell 中移除附加功能

我想使用 Rhino 作为沙箱在服务器上运行用户提供的脚本。我想从不再有 Java 绑定的 PHP 中做到这一点,所以我必须使用命令行界面(Rhino shell)。

不幸的是,Rhino shell 在环境中添加了一些破坏沙盒字符的内在功能,例如文件访问,runCommand()并允许在系统上运行任意命令。

有没有办法禁用它们?