问题标签 [principal]

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 投票
3 回答
51812 浏览

c# - 我应该如何检查用户是否在 MVC5 中经过身份验证?

我已经看到以下两个可访问的布尔值:

  • System.Web.Mvc.Controller.User.Identity.IsAuthenticated
  • System.Web.Mvc.Controller.Request.IsAuthenticated

这些有没有区别。他们似乎都做同样的事情,所以我不确定使用哪个。

我想做的是:

或者

上述任何一个都可以同样有效吗?

0 投票
2 回答
3422 浏览

r - R中的主成分分析(PCA):为什么分数不正交?(使用心理包)

我使用“psych”包中的 principal() 函数在 R 中运行 PCA。我提出了参数“rotate="none"”,它要求正交旋转方法。据我了解,PC1 和 PC2 的分数应该是正交的(即(原始数据) (PC1 的加载)和(原始数据) (PC2 的加载)之间的相关性应该为零。但是,我得到了 90% 的相关性。这是为什么?

0 投票
2 回答
2301 浏览

spring - 无需通过每个控制器即可获得用户 ID

我有一个设计问题,我不知道如何解决。我正在使用 Spring 3.2.4 和 Spring security 3.1.4。

我的数据库中有一个 Account 表,如下所示:

直到最近,我的用户名只是一个用户名,但我将其更改为电子邮件地址,因为许多用户希望使用该地址登录。

我在所有页面上都有一个标题,其中包含指向用户个人资料的链接,如下所示:

问题是现在<%= request.getUserPrincipal().getName()%>返回电子邮件,我不想将用户的电子邮件与他们的电子邮件联系起来。相反,我想使用每个用户必须链接到个人资料的 id。

如何从每个页面访问用户 ID?

我一直在考虑两种解决方案,但我不确定:

  1. 更改主体以包含 id,不知道如何执行此操作并且在查找有关该主题的良好信息时遇到问题。
  2. 向包含整个用户的所有控制器添加模型属性,但这真的很难看,就像这样。

Account account = entityManager.find(Account.class, email);
model.addAttribute("account", account);

还有更多方法,我不知道更喜欢哪一种。

我希望它足够清楚,并感谢您对此提供的任何帮助。

======根据答案编辑=======

我编辑了 Account 来实现 UserDetails,它现在看起来像这样(稍后将修复自动生成的东西):

我还添加了

到我的jsp文件并尝试通过

这给了我以下

======根据答案编辑2 =======

我的应用程序基于春季社交样本,直到现在我都不需要更改任何内容。

这是我认为相关的文件,请告诉我除此之外是否还有其他需要查看的内容。

AccountRepository.java

JdbcAccountRepository.java

安全.xml

这是我实现 UserDetailsS​​ervice 的尝试

仍然给我同样的错误,我需要在某处添加 UserDetailsS​​ervice 吗?与我最初的问题相比,这开始变得不同了,我也许应该开始另一个问题。

对不起,我缺乏这方面的经验。我必须阅读。

0 投票
3 回答
6303 浏览

java - 如何使用WEBLOGIC在JAVA中获取登录用户?

我找到了一个代码,它应该到达登录的用户:

但它仍然给我<anonymus>。这是为什么?我怎样才能找到登录用户的名字?

0 投票
2 回答
1865 浏览

jsf - 为什么我的 FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal() 代码会运行到 NullPointer?

我有一个无状态 bean,它有一个方法,我想在其中获取当前/登录的用户。我得到它的代码:

但是我得到了空指针异常。这是为什么?

或者有没有其他方法可以获取登录用户?我正在使用网络逻辑。

0 投票
1 回答
749 浏览

security - 使用 Windows 身份使用 .IsInRole 方法检查用户自定义角色

我创建了一个 MVC 应用程序,用户可以通过 ADFS 或 Forms 登录进行身份验证,在这两种情况下,我都能够使用 User.IsInRole 方法检查我的用户表,该表具有与角色表相关的 roleID 属性在我的数据库中。这是通过在我的 webconfig 中包含以下部分来完成的:

我现在正在尝试实现 Windows 身份验证并设法获取用户域登录名等,但是当尝试按照与其他两种身份验证类型相同的步骤时,我无法让 IsInRole 工作。

如何将我的存储库中的用户绑定到身份验证用户。是否有某种类型的演员或需要的东西?我认为这可能是通过 ADFS 和 Forms 中的身份验证完成的。

0 投票
1 回答
681 浏览

r - R psych 包 - 在 PCA 之后使用 mat.sort() 对相关矩阵进行排序

在主成分分析之后,我试图让我的原始相关矩阵的变量以与(排序的)负载矩阵相同的方式排序(如 print.psych 所示)。我使用了 psych 包中的以下功能,但我无法让两者对齐。

我不是 100% 确定 mat.sort 的第二个参数应该是什么,但我尝试了 sortedPC 的几个元素都无济于事。任何指针将不胜感激!

0 投票
1 回答
1111 浏览

r - psych r 包的 pca:如何仅获得总解释方差百分比和模型拟合度量?

在我正在构建的一个闪亮的应用程序中,我只想显示主函数(r 包 psych 的)输出的解释方差和模型拟合度量。我调查了输出的结构,但不幸的是(也许有点奇怪)我找不到这些值的确切位置。有谁知道如何从输出中获取这些值?

0 投票
2 回答
287 浏览

asp.net - ASP.NET MVC 自定义主体不使用 ASPNETDB.MDF

我正在开发一个 ASP.NET MVC 3 应用程序。

我已经实现了用于用户身份验证和授权的自定义 Principal 和 Identity 类。我正在使用表单身份验证。

在我的所有控制器中,我使用AuthorizeAtribute来检查用户是否处于我的自定义角色之一,以根据用户的权限限制或授予对功能的访问权限。

当我创建项目时,我使用了“ASP.NET MVC 3 Web 应用程序”模板,其中包括用户帐户的默认模型和控制器。

我为项目添加了重要的功能,并对其进行了修改,以使用完全不使用内置 ASPNETDB 数据库的自定义 Principal 和 Identity 类。

在我的开发机器上一切正常;但是,当我将项目部署到 beta Web 服务器时,当用户未通过身份验证并且他们尝试直接访问某个功能时,我遇到了错误。

错误消息是Access to the path '...\App_Data' is denied.'

堆栈跟踪如下:

发生错误的原因是没有 App_Data 文件夹,也没有 ASPNETDB.MDF 文件,因为应用程序应该使用自定义的 Principal 类。

当尝试检查权限但自定义主体类型未应用于当前线程时似乎会发生此错误,AuthorizeAtribute因为用户不再登录。

例如,如果用户在他们的 Web 浏览器中键入 URL,则 Web 服务器在执行我的控制器中的函数http://theWebsite/theContoller/theRestrictedFeature/行时会崩溃。<Authorize(Roles:=("Has007Access")>theRestrictedFeature

我真的不知道如何解决这个问题,并希望得到一些关于如何进行的建议。

0 投票
0 回答
1492 浏览

java - SecurityContextHolder 提供错误的用户详细信息

在我的应用程序中,我们从SecurityContextHolderAuthentication 对象中捕获每笔交易的用户详细信息。

但它UserID似乎给出了错误。以下是供您参考的代码片段。

安全上下文.xml

spring-security-3.2 --

代码:

任何帮助,将不胜感激。提前致谢

更新:

发生的场景是:

  1. UserA 登录并执行一些 transaction101: for transaction101: userIdfrom SecurityContextHolderis UserA

  2. 同时 UserB 登录其他会话并执行一些 transaction103: for transaction103: userIdfrom SecurityContextHolderis UserB

  3. UserA 再次执行一些 transaction106: for transaction106: userIdfrom SecurityContextHolderis UserB 而不是 UserA