gpt4 book ai didi

c# - Request.IsAuthenticated 如何工作?

转载 作者:IT王子 更新时间:2023-10-29 03:50:39 27 4
gpt4 key购买 nike

MSDN 代码示例说明:以下代码示例使用 IsAuthenticated 属性来确定当前请求是否已通过身份验证。如果尚未通过身份验证,请求将被重定向到另一个页面,用户可以在该页面中将其凭据输入到 Web 应用程序中。这是应用程序默认页面中常用的技术。

这很好,但没有细节或任何东西......

它到底在检查什么?如何将其设置为 true?

加倍努力:我在哪里可以找到关于此的更多详细文档?

最佳答案

感谢 Google,我找到了@keyboardP 在 his answer 中引用的帖子的缓存版本.由于原始链接已损坏 (2012-12-06),我将在此处发布该答案/帖子作为其他人的引用。

Original question下面的答案是指:

我有一个基于表单的应用程序,非常适合我。我注意到,在IsAuthenticated 属性为 True 的位置,现在为false 并且没有按预期工作。我想知道我是否有无效的设置??

谁能告诉我是什么将 IsAuthenticated 属性设置为 True——什么构成登录。

丹尼尔·肯特的回答:

Request.IsAuthenticated 不仅用于表单验证 - 它是有效的无论使用何种类型的身份验证(Windows、Passport、表格或我们自己的自定义方案)

HttpRequest.IsAuthenticated 将在用户发出请求时为真已通过身份验证。本质上,这个属性提供了相同的信息作为 Context.User.Identity.IsAuthenticated

在请求开始时,Context.User.Idenity 包含一个GenericIdentity使用空用户名。此对象的 IsAuthenticated 属性将返回 false 因此 Request.IsAuthenticated 将为 false。当一个身份验证模块处理 Application_AuthenticateRequest 事件和成功地验证了它替换 GenericIdentity 中的用户Context.User.Identity 带有一个新的 IIdentity 对象,它将返回 true它的 IsAuthenticated 属性。 Request.IsAuthenticated 将返回 true

在表单验证的情况下,表单验证模块使用身份验证 cookie 中包含的加密身份验证票对用户进行身份验证。完成此操作后,它将替换Context.User.Identity 中的 GenericIdentity 和一个 FormsIdentity 对象从其 IsAuthenticated 属性返回 True

所以,设置IsAuthenticatedtrue其实和登录是不一样的。Jeff 说,当生成身份验证票证并将其作为 cookie 发送到客户端。(RedirectFromLoginPageSetAuthCookie)我们正在讨论的内容IsAuthenticated 是对每个页面请求进行的身份验证。当用户输入他们的凭据并收到一个票,每个请求都会进行身份验证。

关于c# - Request.IsAuthenticated 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2201238/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com