问题标签 [principalpermission]

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 回答
841 浏览

asp.net-mvc-3 - 在 MVC3 中处理 PrincipalPermission 异常

在我的 MVC 应用程序中,我用这个修饰了我的控制器的一些方法:

事实上,如果我没有登录或没有使用正确的角色,MVC 应用程序会抛出异常。问题是我没有将应用程序重定向到错误页面。

我尝试像这样创建一个基本控制器:

然后在 Home 控制器中添加 Error 视图以及实际的 View。问题是,当我在 Visual Studio 中尝试此操作时,我首先在输入受保护的操作方法时遇到异常:

然后我必须执行 Debug|Continue,然后我才被重定向到 Error 视图,但这在生产应用程序中是不可接受的,因为它应该直接进入 Error 视图。

0 投票
1 回答
304 浏览

wcf - 是否可以在 web.config 中禁用 WCF 服务的 PrincipalPermission 检查

我的 wcf-services 使用 Principalpermissions 对用户进行身份验证,如下所示:

是否有可能在不更改源代码的情况下禁用此 PrincipalPermission 检查,例如 web.config 中的部分或类似内容

0 投票
2 回答
1539 浏览

.net - .Net 角色身份验证 PrincipalPermission 失败

我有一个使用 PrincipalPermission 类的 vb.net 3.5 应用程序来确保用户是角色的成员。该代码适用于 Active Directory 域中的某些组,但不适用于其他组。起初我认为空间是一个问题,但我检查了“域用户”,它有效。运行此代码我是 App Group 的成员。

secEx.ToString 的错误输出是

“System.Security.SecurityException:对主体权限的请求失败。在 System.Security.Permissions.PrincipalPermission.Demand() 的 System.Security.Permissions.PrincipalPermission.ThrowSecurityException() 中的 App.My.MyApplication.DemandSecurity() 中: \Documents and Settings\me\My Documents\Visual Studio 2008\Projects\App\App\ApplicationEvents.vb:line 28

失败的操作是:Demand 失败的第一个权限的类型是:System.Security.Permissions.PrincipalPermission

第一个失败的权限是:IPermission class="System.Security.Permissions.PrincipalPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1"> Identity Authenticated="true" Role="应用组"/>

需求是:IPermission class="System.Security.Permissions.PrincipalPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1"> Identity Authenticated="true" Role="App Group "/>

失败的程序集或 AppDomain 是:mscorlib,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"

让我知道是否需要包含其他内容。

0 投票
3 回答
812 浏览

c# - 工作队列和用户上下文

我们有一个工作队列,用户可以向其中添加工作。添加工作项时,上下文是用户 ( HttpContext)。但它是一个后台线程,轮询队列并按顺序一一执行。

我不能只存储用户,因为当HttpContextPrincipal 对象被释放时

可以在 worker 中运行的代码需要 Principal 对诸如此类的东西是正确的PrincipalPermissions

此外,生命周期管理 (IoC) 使用HttpContextforInRequest范围,是否可以HttpContext使用正确的主体重新创建 a 等。

编辑: 伪造 HttpContext 只是一个很好的生命时间管理功能,我可以解决这个问题。但是我们的后端代码很大程度上依赖于线程的正确用户主体,因为我们使用它来验证用户是否可以访问系统的该部分。如果有人可以回答如何存储具有身份、角色和 IsAuthenticated 状态的用户主体,然​​后在另一个线程上使用它,我会标记为答案

0 投票
0 回答
492 浏览

c# - 基类中的 WCF 实现,派生类中的 PrincipalPermission 角色?

我有几个 WCF 服务都实现了 All() 方法,所以我创建了一个通用基类来实现 All() 方法,但是每个 WCF 服务调用都需要自己的安全角色。

有没有办法将 PrincipalPermission 注释移动到基类 (QueryService) 并在派生类中定义 Role 字符串,这样我就不必重写基类的每个方法(并调用 base.xxx)。

像这样的东西:(虽然不起作用......)

0 投票
1 回答
505 浏览

wcf - 如何使用 PrincipalPermission 保护完整的 WCF 服务

我有一个netTcp包含 100 多种方法的 WCF 服务绑定,我想保护基于 Windows 用户组的所有方法。

我知道您可以将属性放在[PrincipalPermission(SecurityAction.Demand, Role = "MyWindowsUserGroup")]每个方法之前。

我是否需要为每个方法单独执行此操作,或者有没有办法让服务中的每个方法默认使用同一个用户组进行保护?

0 投票
1 回答
805 浏览

iis - IIS WebService 请求主体权限失败

我创建了一个简单的 Web 服务,并在 Web 服务中编写了一个简单的方法,如下面的代码所示。

我在设置为域用户 KIANCOORP\webapppooluser 的应用程序池中托管了 Web 服务,并且我已将此用户添加到“KIANCOORP\SomethingElse Users U”组中(通过活动目录)。

现在,当我使用 Internet 浏览器浏览到 Web 服务时,我收到以下提示,因此我尝试使用我用来设置为我的这个 HelloWorld Web 服务的应用程序池用户的同一用户登录。

在此处输入图像描述

现在,如果我尝试使用正确的凭据登录,则会再次出现提示

在此处输入图像描述

就像我必须输入凭据 3 次一样,我已经对此进行了测试,每次我收到登录对话框的提示时,我都必须尝试 3 次,最终它会进入以下浏览器屏幕。

在此处输入图像描述

我在网上找不到任何可以帮助我解决此错误的有用信息。

0 投票
1 回答
5020 浏览

c# - PrincipalPermission 与 Authorize 属性?

谁能向我解释这两个属性的区别和用例?我很困惑,因为它们的行为相似。

我知道 [Authorize] 挂钩到 ASP.NET 应用程序生命周期并在请求到达控制器/操作之前运行。PrincipalPermission怎么样?

0 投票
1 回答
292 浏览

asp.net - 使用表单身份验证的 ASP.Net 网站在回发时引发安全异常

我为我的 ASP.net Web 应用程序使用了基于角色的自定义安全性和表单身份验证。角色、用户是从 sql server 获取的。该框架面向 4.0 版。

我已使用https://msdn.microsoft.com/en-us/library/ff649337.aspx 中的代码在登录时创建 FormsAuthenticationTicket,然后我编写了代码以在 Application_PreRequestHandlerExecute 方法中创建一个 GenericPrincipal 对象。

我已将 PrincipalPermission 属性设置为重定向页面的 page_load 方法

我在此页面中添加了一个按钮,以模拟回发。在第一次加载时没有抛出安全异常,但是如果我单击按钮,则会抛出一个安全异常,指出“请求主体权限被拒绝。”。

但是,如果我将应用程序池设置为经典,这将无法重现。

只有当应用程序池设置为集成模式时它才会失败是有原因的吗?

这解决了这个问题,不知道为什么只有当管道设置为集成并且它在没有此代码的情况下以经典方式工作时才需要这样做

0 投票
2 回答
2128 浏览

c# - 请求主体权限失败 - 可能是由于 windows 组?

我搜索了这个错误,没有找到正确的答案.. 2 个月前我在做 MVC -> WCF 通信。它起作用了,然后我注释掉了 PrincipalPermission 属性以使其在 localhost(VS IIS Express)上工作。

重新启用后,我收到错误“请求主体权限失败”。我想我的小组是错误的。

WCF 方面:

客户端:

WCF 网络配置:

客户端网络配置:

我无法访问 WCF AuthorizationPolicy.cs 来检查 Thread.CurrentPrincipal 是否已设置。

知道如何调试出了什么问题吗?我认为这是 Windows 中 Test_Group 的问题。WCF 和 MVC 在 IIS 中运行。MVC 在属于 Test_Group 的 IIS APPPOOL\MVC 下运行。

感谢帮助。