问题标签 [iprincipal]
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.
security - 当前用户是 LocalSystem 检查?
很容易确定运行我的 C# .NET 4.0 控制台应用程序的用户是否是本地管理员组的成员。我也在尝试确定它是否在 LocalSystem 下运行。最好的方法是什么?
c# - 如何在 ASP.NET MVC 中更轻松地访问我的自定义 IPrincipal?
我编写了一个自定义主体对象,其中包含一些附加字段(除了用户名之外的电子邮件和用户 ID)。
为了访问这些属性,我必须将 Context.User 对象转换为我的自定义主体。
这个自定义主体是通过我的 global.ascx 中的 Application_AuthenticateRequest 创建/反序列化的。您可以查看我在此处询问的这个问题以获取更多信息。
但是,如果用户未通过身份验证,那么我对 CustomPrincipal 的转换将失败(因为它不会被注入到上面的方法中)并且 (User as CustomPrincipal) 的结果将返回 null,从而给我一个 null 引用当我上面的方法尝试获取电子邮件时出现异常。
什么是这个问题的干净解决方案?我想让访问我的自定义主体变得容易,并且必须执行以下操作似乎很麻烦:
这是处理这种情况的唯一方法吗?
c# - 在 ASP.NET MVC 中使用表单身份验证的自定义 IPrincipal
这应该很简单,但我在谷歌搜索之后根本无法弄清楚。这就是我想要的。我有一个要授权的自定义用户表(目前没有角色)。为此,我必须实现一个我已经完成的自定义成员资格提供程序。我的问题是,如何将自定义 IPrincipal 设置为 HttpContext.Current.User?那应该发生在哪里?假设我有以下设置:
然后我有一个自定义用户类的工具IPrincipal
和IIdentity
所以我的问题是,将 Context.User 设置为此自定义用户的实例的正确位置在哪里?我需要自定义授权属性吗?如果是这样,那会是什么样子?
asp.net-mvc-3 - ASP.NET 自定义 Pricipal 和 Cookie(票证)
如果我创建一个具有五个自定义属性(例如 phoneNumber)的自定义主体,主体数据是在 cookie 中传输还是保留在服务器中?
asp.net-mvc-3 - MVC3 + Ninject:注入用户 IPrincipal 的正确方法是什么?
我已经看到以下两个注入 User IPrincipal 的示例:
方法一:
方法二:
两者有什么区别吗?是首选吗?
c# - 基本控制器 ASP.NET MVC 3 中的这个自定义主体是否非常低效?
尽管我已经在这里待了一段时间,但这是我关于 SO 的第一个问题,所以请对我温柔一点。
我正在使用ASP.NET MVC 3
并且我想创建一个自定义Principal
,因此我可以存储比标准更多的有关当前用户的信息,因此不必经常访问数据库。这是我所追求的相当标准的东西。让我们首先说电子邮件地址和用户 ID。
我决定将对象存储在缓存中,因为我知道不建议将其存储在会话中。
我也不想继续投射User
对象,所以我想覆盖User
控制器中的对象。所以我可以去User.UserId
保证一些事情。
所以我创建了一个这样的自定义主体:
我有一个这样的基本控制器:
如果你看一下,你会很快意识到如果用户没有登录,那么对对象的任何调用User
都必须通过这段代码运行:
这对我来说效率非常低,尽管它只是为丢失的东西创建空对象。
它工作正常。
所以我想我想知道这是否真的可以,我应该停止对性能和效率如此敏感,或者我的恐惧是否正确,在这种情况下我应该做什么?[请不要说“获得生命,伙计!”]
c# - 针对 ActiveDirectory 进行身份验证
我做了一点谷歌搜索,我遇到了这个有前途的代码
userName 被初始化为 Windows 登录名。它也是一个字符串 tb.Text.ToString() 是用于输入密码的文本框
更新了代码,它正在工作。谢谢大家
MSDN说 PrincipalContext 可以使用两个参数
wcf - WCF CustomRoleProvider 和原则权限
编辑:我认为该问题可能与以下问题有关,因为一旦 WCF 服务移至 SSL ,我也在使用 SSL PrincipalPermission.Demand() 失败
我正在开发一组安全的 Web 服务,我已经实现了 CustomRoleProvider 和 CustomMembershipProvider 以对用户进行身份验证。
这很好用,但是如果用户未通过身份验证,我想限制对大多数服务调用的访问。
我计划使用以下内容来完成此任务
但是,这似乎没有检测到用户何时通过身份验证并且总是引发安全异常。我不确定我做错了什么。
在我的身份验证服务调用中,我检查成员资格提供程序是否返回 true 并设置表单身份验证 cookie。
我在我的网络配置中设置了服务授权,如下所示:
任何帮助将不胜感激,谢谢
编辑:
我对该问题进行了进一步调查,发现 Principal 设置正确。我有以下服务方法,在其中我得到了委托人并检查用户是否处于正确的角色,有效地执行标签在开始时所做的事情。
此方法当前每次都会引发 SecurityException,但是如果我在开始时注释掉主体权限,则该方法将起作用并返回 true。
asp.net-mvc - 您可以将 RolePrincipal 包装在自定义 IPrincipal 对象中吗?
我在带有表单身份验证的 ASP.NET 框架内使用自定义成员资格和角色提供程序。这些工作很好。角色提供者使用 cookie 来持久化角色,从而在每个 Web 请求上保存到数据库的行程。我还在 FormsAuthenticationTicket 中使用 UserData 字符串来存储 UserId。
我需要将我的 DAL 从 Web 项目中重构为自己的项目。DAL 依赖于检索当前用户的 ID 以及检查角色的权限。我的身份验证系统应该如何更改,以便我可以使用 Thread.CurrentPrincipal 而无需在 DAL 项目中引用 System.Web?
目前,Provider Framework 创建一个 RolePrincipal 和 FormsIdentity 对象并将其附加到 Thread.CurrentPrincipal。
我考虑过在 Application_PostAuthenticateRequest 事件期间围绕 RolePrincipal 创建一个自定义 IPrincipal 包装器。在这种情况下,我可以从 FormsAuthenticalTicket 中获取 UserID,并将其与 RolePrincipal 一起传递给这个新的 wrapperPrincipal。
这是一种有效的方法吗?我最终会因为弄乱 Provider 结构而在项目中导致一些问题吗?
谢谢你,基思
asp.net-mvc - 实施 IPrincipal 的问题
尝试实现 IPrincipal (ASP.NET MVC 3) 并遇到问题:我的自定义 IPrincipal:
要序列化/反序列化,我使用以下类:
应用程序身份验证事件如下(工作正常!)
正如您在最后一条语句中看到的,HttpContext 被分配了这个新的 DealsPrincipal(工作正常)。
问题是,如果想在 Controller(Action) 中访问此用户,我总是会得到一个基类对象。如果我按如下方式投射用户:
获取例如 UserId(示例:
这总是空的!为什么?我错过了什么?