Met*_*uru 52 c# asp.net httprequest
MSDN代码示例说明:以下代码示例使用IsAuthenticated属性来确定当前请求是否已经过身份验证.如果尚未通过身份验证,请求将重定向到另一个页面,用户可以在其中将凭据输入Web应用程序.这是应用程序的默认页面中使用的常用技术.
这很棒,但没有细节或任何东西......
它究竟在检查什么?如何将其设置为true?
加倍努力:我在哪里可以找到更详细的文档?
Oli*_*ver 60
感谢Google,我在他的回答中找到了@keyboardP的帖子的缓存版本.由于原始链接已被破坏(2012-12-06),我在此处发布该答案/帖子作为其他人的参考.
以下答案的原始问题是:
我有一个基于表单的应用程序,让我适合.我注意到,在IsAuthenticated属性为True的位置,它现在是假的,并且没有按预期工作.我想知道我的设置是否无效?
谁能告诉我什么将IsAuthenticated属性设置为True - 什么constitues登录.
Daniel Kent的回答:
Request.IsAuthenticated 不仅仅是表单认证 - 无论使用何种类型的身份验证(Windows,Passport,Forms或我们自己的自定义方案),它都是有效的
HttpRequest.IsAuthenticated当发出请求的用户已通过身份验证时,将为true.从本质上讲,此属性提供的信息与此相同Context.User.Identity.IsAuthenticated.
在请求开始时,Context.User.Idenity包含GenericIdentity
具有空用户名的a.IsAuthenticated此对象的属性将返回,false因此Request.IsAuthenticated将返回false.当身份验证模块处理Application_AuthenticateRequest事件并成功验证用户身份时,它会使用将从其属性返回的新对象替换GenericIdentityin
.然后会回来.Context.User.IdentityIIdentitytrueIsAuthenticatedRequest.IsAuthenticatedtrue
在表单身份验证的情况下,表单身份验证模块使用身份验证cookie中包含的加密身份验证票证来验证用户.完成此操作后,它会将GenericIdentityin 替换为
从其属性返回Context.User.Identity的FormsIdentity对象.TrueIsAuthenticated
因此,设置IsAuthenticated为true登录实际上是不同的.正如Jeff所说,登录到表单身份验证时会生成身份验证票证并作为cookie发送到客户端.(RedirectFromLoginPage或SetAuthCookie)我们所讨论的
IsAuthenticated是每个页面请求发生的身份验证.当用户输入凭证并发出票证时,会发生登录,每次请求都会进行身份验证.
| 归档时间: |
|
| 查看次数: |
55196 次 |
| 最近记录: |