问题标签 [fluent-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 回答
909 浏览

asp.net-mvc - 如何为采用参数的方法配置 Fluent Security 策略?

可能重复:
Fluent Security - 配置参数化控制器操作

我正在尝试 Fluent Security 在 ASP.NET MVC 应用程序中强制实施安全策略,但我无法为采用参数的控制器方法定义策略。作为我的意思的一个例子,下面的代码片段显示了应该保护的控制器:

而且,此代码片段(从概念上)显示了我如何尝试配置 Fluent Security 以允许对两个控制器方法进行身份验证访问。

但是,后一个代码不会构建,因为没有Disassociate. 编译器报告以下内容:No overload for method 'Disassociate' takes 0 arguments.

如何为该方法配置 Fluent Security AccountController.Disassociate(string, string)

0 投票
3 回答
1635 浏览

c# - 如何重定向到 FluentSecurity 中的特定页面?

您好我正在使用FluentSecurity在我的 MVC 应用程序中验证和验证用户权限。在基本设置中,当用户想要访问拒绝Action时,它会引发异常。我想知道我应该如何重定向到另一个页面(例如登录页面)而不是显示黄色异常页面?

0 投票
2 回答
233 浏览

fluent-security - 如何将数据从流畅的安全自定义策略传递到控制器

我在我的项目中使用流利的安全性,在每个索引操作中,我想获取访问权限信息并将其传递给控制器​​,以根据当前登录用户的角色启用或禁用按钮。有没有办法从控制器的策略。请帮忙

提前致谢,阿努普

0 投票
1 回答
182 浏览

asp.net-mvc - 如何使用 Fluent Security 在 ASP.net MVC 应用程序中设置 SSL 重定向?

使用 Fluent Security 在 mvc Web 应用程序中的控制器视图上设置 SSL 重定向的最佳方法是什么?

0 投票
1 回答
359 浏览

fluent-security - 针对授权过滤器的执行顺序

使用 Fluent Security,我已经使用 DenyAnonymousAccess、DenyAuthenticationAccess 和 RequireRole 配置了网站访问。但是,由于HandleSecurityAttribute不是授权过滤器,所有要处理的逻辑都DenyAnonymousAccessPolicyViolation只能在授权过滤器之后执行,例如ValidateAntiForgeryToken.

这意味着如果当前用户的身份验证票证超时,则任何修饰的操作ValidateAntiForgeryToken都会抛出异常,因为令牌不是为匿名用户创建的。

那么有没有办法解决这个问题?我目前正在研究两种解决方案:

  1. 创建我自己的授权过滤器以执行HandleSecurityAttribute安全性的确切功能。
  2. 使用全局Authorize文件管理器处理身份验证并将角色/其他访问策略留给 FluentSecurity。

更新:

我在 github 上查看了一个演示,它的用户名和密码是 dev1 和 devdev。我将超时表单身份验证设置为 1 分钟。因此,如果您登录并等待一分钟,然后单击注销,您将获得未为匿名用户创建的令牌。在普通的 MVC 中,这不会发生,因为 [Authorize] 在 [ValidateAntiForgeryToken] 之前运行,这会将用户重定向回登录屏幕。

0 投票
1 回答
256 浏览

asp.net-mvc - 扩展基于角色的安全性以允许特定实体的角色

我在另一个 MVC 应用程序中使用了 FluentSecurity,它很棒,提供了一个巧妙的实现。

我现在需要提供应用程序范围的角色,另外还提供对单个实体的额外权限控制。

我的应用程序管理特定位置,用户可能有权在一个或多个位置执行操作,每个位置都有一个唯一的 ID。我需要检查用户是否具有位置 ID 的特定角色(有效地为角色添加另一个维度)。我已经绘制了我的架构以及我的回购/服务层。

我想知道以前是否有人解决过此类问题,是否值得我尝试使用 FluentSecurity 解决,或者我是否应该验证用户是否具有每个 GET/POST 请求(控制器或服务层)上的位置所需的角色。

我将在 FluentSecurity 中实现这一点,我将不得不推出自己的策略并从 RequestContext.RouteData 中捕获位置 ID。

0 投票
1 回答
100 浏览

unit-testing - 在 FluentSecurity 中测试自定义 PolicyViolationHandler

我在 FluentSecurity (实现ISecurityPolicy)中编写了一个自定义策略,并通过实现一个相应的 PolicyViolationHandler IPolicyViolationHandler。一切都与策略和处理程序完美配合,但是我正在通过编写一些单元测试来测试我的IPolicyViolationHandler.Handle(PolicyViolationException exception). 我知道我在执行后正在反向编写测试(入场以避免火焰)。

我的问题是:有没有办法生成一个PolicyViolationException对象作为我可以传递给我的测试的模拟?PolicyViolationException 没有任何公共构造函数(所以我不能新建一个对象),也没有抽象基础或模拟接口(使用 Moq)。

我查看了 API,但没有看到任何可以生成的内容。我知道我可以做一些反射魔法来得到一个,但想检查我是否遗漏了什么。

0 投票
1 回答
860 浏览

asp.net-mvc-4 - FluentSecurity 2.0 支持带参数的操作

在我的 .net mvc 4 应用程序中,我使用最新版本的FluentSecurity (1.4) 来保护我的操作。

这是一个说明我的问题的示例:

假设我有一个带有 2 个编辑操作(获取和发布)的控制器:

现在,我想为每个操作设置不同的安全策略。为此,我定义(使用流利的安全性):

第一个配置是指get,第二个是post。如果你想知道我为什么要发送虚拟参数,你可以看看这里这里

问题是流利的安全性无法区分这两者之间的区别,因此这不起作用。

找不到克服它的方法(我对想法持开放态度),我想知道安装新的 2.0 beta 版本是否可以解决这个问题。

有任何想法吗?

0 投票
1 回答
418 浏览

security - 在模块化系统 mvc 4 中使用 fluentsecurity

我的解决方案中有一个 MVC 应用程序app_ui作为启动项目命名,解决方案中的其他一些应用程序作为模块命名。然后在启动项目中,我通过路由表访问模块及其操作。我fluentsecurity用于授权并将其配置Global.asax为控制器app_ui,一切正常。但是对于模块中的控制器和操作,我无法将配置添加到 fluentsecurity,并且想知道如何为它们添加设置策略。

0 投票
1 回答
114 浏览

c# - 使用 CastleDynamicProxy 实现流畅的安全性和 AOP

这个确切的问题已经在GitHub 上被问过了,但是提供的解决方法似乎对于版本 2 来说不是可选的。

问题是,如果安全配置正确,即使它是通过 ForAllControllersInheriting 配置的,它也不能与 CastleDynamixProxy 运行时创建的控制器代理一起使用。

我想这是由于当流利的安全性解析规则时这些控制器实际上并不存在。有什么解决方法吗?我想按照GitHub 上的建议创建自定义的 HandleSecurityAttribute ,但是我无法使用版本 2 中的所有内部内容来做到这一点(但这可能是我在 C# 方面不专业的原因,所以我可能只需要提示如何去做)。

我尝试了所有可能的配置:

这些似乎都不适用于这个问题。