问题标签 [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.
c# - 用户类是否应该实现 IPrincipal 和 IIdentity
我正在为 asp.net web api 2 构建我自己的基于令牌的身份验证,我对这个类有疑问user
。
目前我的user
班级实施IPrincipal
and IIdentity
,但我不知道最佳实践是什么。你会划分IPrincipal
并使实现IIdentity
成为其中的IIdentity
一员IPrincipal
吗?
目前我使用以下类声明
谢谢!
c# - 从 WCF 服务获取自定义“IIdentity 和 IPrincipal”客户端
我有一个名为MyIdentity的自定义 IIdentity 和一个名为MyPrincipal 的自定义 IIprincipal。这些类用于三个不同的项目:
- ASP.NET MVC
- ASP.NET Web 窗体
- Windows 窗体
这三个项目从 WCF 服务获取信息。
在 WCF 服务中是否有可能在调用时获得自定义 IIdentity ( MyIdentity ) 和自定义 IIPrincipal ( MyPrincipal )?
asp.net-mvc - StructureMap:如何将 IUser 注入构造函数
我有一个 ASP.NET MVC 5 网站,我想从我自己的类(不知道 http 上下文)访问当前用户信息。我怎样才能将它注入那个类?
显然,我什至不能注入IUser
MVC 控制器。它抛出这个错误。
System.MissingMethodException:没有为此对象定义无参数构造函数
我不想手动传递用户信息。
谢谢
asp.net-web-api2 - 获取 AuthorizeAttribute 以在 web api 2 应用程序中使用具有开始和到期日期的角色?
我需要使用 Identity 2 通过添加其他属性来修改我的 web api 2 项目中的用户角色:DateTime StartDate
和DateTime EndDate
. 这需要能够在有限的时间段内授予用户角色。
我需要做什么才能获得Authorize
诸如[Authorize(Role="poweruser")]
等属性以了解角色日期?
根据来源(https://github.com/ASP-NET-MVC/aspnetwebstack/blob/master/src/System.Web.Http/AuthorizeAttribute.cs)这个过滤器最终调用IPrincipal.IsInRole
:
看起来我需要对 in 的实现进行子类化IPrincipal
,HttpActionContext.ControllerContext.RequestContext.Principal
并以某种方式将其注入生命周期中的某个地方,而不是默认实现。
我该怎么做呢?
asp.net-mvc-5 - ASP.NET MVC5 中的 CustomPrincipal.IsInRole
我在 ASP.NET MVC 5 中工作,我正在使用 ASP.NET Identity。我在这里按照 LukeP 的解决方案来访问我的ApplicationUser
自定义属性(例如User.DisplayUsername
或User.DOB
)。就像 Luke 建议的那样,我现在有一个自定义的 IPrincipal 实现(基本上与他完全相同的代码)。
然而,这有一个问题,我怀疑这与CustomPrincipal
类上的这行代码有关:
我有一个控制器ReviewController
,在那里我有这个:
这是行不通的。即使我以管理员身份登录的用户也是如此。所以我尝试通过对IsInRole
方法执行此操作来改进代码:
从我现在服务于ReviewController
. 但是它仍然是错误的,因为即使不是管理员角色的用户也被允许访问。我也知道为什么会这样,但只是不知道如何解决这个问题。
我怎样才能让它正常工作?
asp.net - 什么是 User.Identity.Name 和 User.Identity.IsAuthenticated?
我想知道用户身份名称是什么设置并更改isAuthenticated
为true。
为什么是User.Identity.Name
一个空字符串,User.Identity.IsAuthenticated
false
之后SignInManager.PasswordSignInAsync
又返回了Success
。
asp.net-mvc - 当你想在 Asp.net MVC 中创建自定义主体时,为什么要创建自定义主体接口?
最近我搜索了如何创建自定义主体,我得到了答案,但有一件事我不明白,我在堆栈溢出时找到了这个解决方案
但我不明白的是为什么开发人员创建了 ICustomPrincipal 接口并强制 CustomPrincipal 继承它 为什么 CustomPrincipal 类不直接从 IPrincipal 接口继承
signalr-hub - 无论如何要在信号器应用程序中设置 IPrincipal
我们在 Web 应用程序中使用了 saml 保护。我会将声明作为标头的一部分传递给信号器。我想阅读名称声明并在 Signalr 中设置 IPrincipal。
- 我尝试通过实现 Asp.net 模块并设置如下上下文(发件人为 HttpApplication)。Context.User = "My Logic" 该值已设置但无法在信号器 HubCallerContext 中看到。
- 尝试使用 IUserIdProvider。
- 尝试使用 OnBeforeConnect。
我已经尝试了我知道的所有可能的方法,但没有结果。
有没有其他方法可以在 Signalr 中设置 IPrincipal ?
asp.net-mvc - ASP 自定义表单身份验证不起作用,因为 cookie 丢失
我有一个 ASP .Net 4.5 MVC 网站,我按照本教程自定义了表单身份验证。不同之处在于我通过后端 dll 进行身份验证,因此我跳过了教程中的所有数据库内容,并且教程从数据库中获取用户的位置是我从常规方法调用中获取的。我之前已经按照这个教程进行过,并在一个新的 MVC 网站中成功实现了它。这次我在现有的 MVC 网站上实现了它,但我无法让它工作。
当cookie被添加到Response.Cookies
它时,它只存在直到代码向用户返回一个视图。之后它不再存在,Response.Cookies
这意味着在 Global.asaxApplication_PostAuthenticateRequest
方法中,var authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
总是返回null
. 我尝试添加其他简单的 cookie,并且这些 cookie 按预期持续存在。
这就是我添加表单身份验证 cookie 的方式
如果我改变这条线
至
然后“测试”cookie 将按预期运行,我可以在 Global.asax 中获取它Application_PostAuthenticateRequest
asp.net - 使用 AspNet.Security.OpenIdConnect.Server 实现自定义主体 (ASP.NET vNext)
我正在使用 Visual Studio 2015 Enterprise 和 ASP.NET vNext Beta8 构建一个端点,该端点发出和使用 JWT 令牌,如此处详细描述。
我正处于项目的阶段,我希望允许 JWT 不记名身份验证按照上述文章中的讨论进行,但是一旦令牌通过身份验证,我想:
- 在成功进行 JWT 身份验证后介入并检查其各种声明。
- 根据我在令牌中找到的内容,水合我自己的主体对象(比如 IContosoPrincipal)的范围实例。
- 确保 IContosoPrincipal 的支持具体范围仅限于当前请求。
- 稍后将依赖项注入 IContosoPrincipal 到我的一个令牌保护控制器中。
我确信这将涉及一个范围内的 IContosoPrincipal 对象,我可能会弄清楚这部分,但我不确定如何在令牌成功验证之后但在控制器/动作调用发生之前拦截 JWT 验证。
任何有关如何解决此问题的建议将不胜感激。