问题标签 [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.
c# - 在用户 ID 数据类型不长的情况下实现 rhino 安全性
我想在我的应用程序上实现 rhino 安全性。我有其 Id 字段为 GUID 的用户实体类。
根据 Rhino 安全说明,我必须实现 IUser 接口,其中包含一个很长的 id 字段。现在如何在不更改用户实体类的数据类型的情况下实现 IUSer 接口
nhibernate - NHibernate with Rhino Security - 非法尝试将代理与两个打开的会话关联
我在 ASP.NET MVC 3 应用程序中使用 Rhino Security 作为 NHibernate 之上的安全层。当我试图删除一个安全实体时,Rhino 安全触发了一个 OnPreDelete 方法,用于清理数据库中的相应数据。此时我收到一个非法尝试将代理与两个打开的会话相关联的错误。
从我对这个主题的阅读来看,这个错误通常是由错误的会话管理引起的,但是从源代码看来,Rhino Security 正在使用现有的会话(注意,下面的 Delete 方法调用是有问题的方法):
我的会话管理也非常简单,使用 MVC 操作过滤器属性来打开和提交事务,如下所示:
任何人都可以提供有关为什么会发生此问题的指导吗?
提前致谢
asp.net - 将 Rhino 安全性移植到实体框架 - 为什么它不存在?
我正在为 ASP.NET MVC 项目使用(代码优先)实体框架 4.3,并希望实现 Rhino Security 提供的基于权限的细粒度授权功能
虽然它是唯一可用的基于权限的 Lib,但尚未移植到 EF。可能是什么原因,
- 这样的 Permission Framework 不是项目中常见的需求,所以没那么出名
- 实体框架没有那么有效,因此不如 NHibernate 无处不在
- Rhino Repository 与 NHibernate 紧密结合,无法简单地将其移植到 EF
最重要的是,如果我真的坚持将它与 EF 一起使用,并且如果您告诉我这是不可能的,请您帮我理解为什么。如果你的答案是肯定的,你能帮我解决一下如何做吗
任何其他想法请
如果我真的开始使用 EF 实现它,那将是徒劳的。我将面临的任何并发症。
由于我只是 Entity Framework 和 MVC 的新手,有什么我忽略的吗。所以,请帮助我所有的天才。
任何想法如何开始?
c# - 基于活动/任务的授权
Rhino 安全似乎提供了一种执行基于任务/活动的授权的好方法。这是一些示例代码:
它检查 userXYZ 是否可以对资源“消息”执行活动“更改”。这一切都很好,但我不喜欢硬编码资源和活动的方式。你认为有办法克服这个问题吗?谢谢!
security - 如何将业务规则映射到 Rhino 安全实体组?
我正在使用 Rhino Security 来保护庞大数据库上的 NHibernate 实体。部分要求是实现将映射到 Rhino EntityGroups 的业务规则,以根据登录的用户 UserGroup 权利过滤掉数据:
我的问题是:
1)在安全管理员中定义上述业务规则然后将它们映射到EntityGroups是否有意义
2)我应该在什么阶段将 Account 实体添加到 EntityGroup '机密帐户',显然我可以在保存/更新帐户时执行但是,可能有 n 个类似的 EntityGroups 并即时评估当前 Account 实体成员资格将对性能产生重大影响
请建议
谢谢,肉山
java - Janino - 监控脚本 CPU 时间和分配的字节
我正在尝试使用 Janino 构建一个脚本沙箱,以便我可以通过限制导入、CPU 时间和分配的字节来安全地执行用户函数。
在 Rhino(用于 javascript 代码)中,我有一个名为observeInstructionCount(Context ctx, int instructionCount)的函数, 它在每个X指令中调用,其中X可以由用户在构建环境时定义。
在这个函数中,我可以做这样的事情:
监控执行时间和分配的字节数。
即使用户创建了一个循环(例如 while(true) {} ),这个函数最终也会被调用,如果超过了之前定义的执行时间,它将抛出一个错误并且脚本执行将停止。
我正在尝试使用Janino复制此行为,但我没有类似的机制来监视脚本执行。如果用户调用阻塞函数,我没有办法停止脚本,只能在执行脚本的线程上突然调用 thread.stop(),这可能会出现问题。任何其他调用,如 thread.interrupt() (据我所知)都不会中断阻塞调用。
关于如何解决这个问题的任何想法?