问题标签 [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.

0 投票
1 回答
422 浏览

c# - 自定义 IPrincipal 过期问题

我遵循了this question关于如何实现自定义的建议IPrincipal(我需要将其存储userId在其中以减少对数据库的调用以获得公正userId)。
现在,如果我登录到站点并离开它大约 20 分钟,请不要在站点上执行任何操作并刷新页面,它会再次请求登录。

自定义实现的 IPrincipal 是否有一些过期时间,如果它有如何扩展它?

0 投票
1 回答
181 浏览

c# - WindowsPrincipal.IsInRole 考虑组内的组?

如果我有一个属于一个组的主体,该组属于一个组,该组属于一个添加到构建它的角色“管理员”的组,是否会调用principal.IsInRole(WindowsBuiltInRole.Administrator)返回 true?

0 投票
2 回答
1249 浏览

asp.net-mvc - WebApiController 和 HttpContext.Current.User 中的用户是否不同?

在参考了这篇文章后,我为基本 Http Authentication 编写了一个属性,用于 web api。在属性类中,如果提供的凭据匹配,那么我将 HttpContext.Current.User 设置为

但是,当我在我的 api 控制器中访问 User 时,它没有 apiUser 属性。

为什么会这样,设置身份然后在 api 控制器中访问它的正确方法是什么?

0 投票
1 回答
1757 浏览

asp.net-mvc - 使用 FormsAuthenticationTicket 存储额外的用户会话对象 - cookie 太大

我正在尝试设置一个 .NET MVC 3 项目来存储自定义用户会话对象(以后可以在其他后续操作中从自定义主体对象访问该对象)我已按照此处的步骤操作: ASP.NET MVC - 设置自定义 IIdentity或 IPrincipal (LukeP 所说的 - 我也需要自定义会员资格等)

在我的登录操作中,我有这样的事情:

它将基本上获取用户对象(provider.GetSession() 从外部身份验证服务返回自定义用户会话对象),然后将其存储在 FormsAuthenticationTicket

问题是来自外部服务的用户会话对象超过 4Kb(大约 7Kb 已加密),并且由于大小,cookie 没有存储在浏览器中。

有没有其他安全的方法可以将此用户会话对象存储在某处,所以我不必继续查询数据库?我听说将它存储在 Session 中是不安全的(因为会话劫持 - 并且它与成员资格分离。) - 那么我还有什么其他选择?

我无法减小自定义用户会话对象的大小——这不是一个选项,因为它的属性依赖于所有系统层调用。

问候,马丁

0 投票
1 回答
3297 浏览

c# - 从 HttpContext 获取自定义 IPrincipal 时强制转换无效

在研究 FormsAuthentication 几天后,我决定在 FormsAuth cookie 的 UserData 属性中存储一个序列化对象,并为 HttpContext.Current.User 使用自定义 IPrincipal 对象。

我发现的大多数指南都说将 IPrincipal 对象转换为您的对象。不过,我每次都会得到一个无效的演员表异常。我究竟做错了什么?

我的用户数据

CustomPlatformPrincipal

全球.asax.cs

我的页面

第一篇文章如下: http: //primaryobjects.com/CMS/Article147.aspx

所以似乎我可以获得数据的唯一方法是解密 auth cookie,然后反序列化 authCookie 的 userData 字符串。

有什么建议么?

更新

尝试遵循关于这个 SO 问题的建议:在 MVC 中实现自定义身份和 IPrincipal

代码如下,但它不起作用。

0 投票
0 回答
170 浏览

asp.net - 覆盖 ASP .NET 自定义主体

我有一些代码在 Application.AuthenticateRequest 处理程序中使用自定义 IPrincipal 设置 HttpContext.Current.User。

这工作正常,我已经验证它在调试器中设置正确......但是,稍后在调用我的 WCF 操作时,HttpContext.Current.User 已被 System.Web.Security.RolePrincipal 覆盖。

我觉得我以前遇到过并解决了这个问题,但不记得它是如何发生的或为什么发生的。

谢谢。

0 投票
1 回答
3065 浏览

.net - 我真的需要在每个 Principal 上调用 Dispose() 吗?

我正在使用 .NET 的System.DirectoryServices.AccountManagement命名空间做一些 Active Directory 工作。我注意到Principalimplements IDisposable,这会引起一些头痛,因为该名称空间中的所有内容都继承了Principal

例如,考虑以下代码来获取组中的所有用户:

该片段中的每个类型都实现IDisposable了 ,包括搜索返回的所有用户和搜索结果集本身。

处理domainandgroup对象并不是什么大问题(使用块很容易using()),但是我该怎么处理每个结果呢?我真的必须遍历该users集合并处理每一个吗?

0 投票
1 回答
237 浏览

c# - 如果我正在验证用户权限,我需要修改代码 - 自定义主体

在我的登录方法中,我使用此代码登录用户:

因为我想在需要时避免数据库调用UserId以及一些其他数据,所以我做了一些事情,但我不太确定我做对了。
所以这就是为什么我需要有人检查我的代码,它是否安全而不是愚蠢:)
我这样做是否违反了一些规则。
这是我网站安全阶段的最后阶段,因为我不再使用会员/角色。

所以我改变了上面的 SetAuth... 代码:

在我的Global.asax中,我添加了:

自定义主体代码 - 对于问题的主要目标可能并不重要:

0 投票
2 回答
9554 浏览

c# - 如何在 asp.net 中设置自定义主体

我是网络应用程序的新手。我创建了一个自定义原则并尝试在 CurrentDomain 中设置它。此代码在 WPF 应用程序中完美运行。但在这里它抛出策略异常“默认主体对象不能设置两次。”

我的 CustomPrincple 来自 ClaimsPrinciple

我想知道为什么我不允许在这里设置它。如何在 Web 应用程序中设置我的自定义原则。

0 投票
1 回答
9191 浏览

authentication - WebApi ActionFilterAttribute、HttpActionContext 访问用户名(IPrincipal)

我需要在我的操作过滤器中访问当前登录的用户。身份由DelegatingHandler执行链的更上层设置。

可以IPrincipal使用HttpContext.Current.User. _ 到目前为止,我避免使用HttpContext.Current它,因为它在我看来是不好的风格。首先,您的代码只有在 IIS 中托管时才能工作,其次,它包含一个System.Web我认为不会受到伤害的引用,但System.Net.Http如果可能的话,我更愿意坚持使用。 光靠老好“ HttpContext感觉不对。

有没有其他方法可以访问用户的身份ActionFilter?或者HttpContext如果您不打算运行自托管应用程序,是否可以使用?