if (user?.Identity?.IsAuthenticated ?? false)这几个问号分别都代表啥意思?

0


悬赏园豆:5
[已解决问题]
浏览: 229次
解决于 2018-05-16 13:27
            var user = HttpContext.User;
if (user?.Identity?.IsAuthenticated ?? false)
{ }
else
{ }

如题,求解。


屌丝大叔的笔记
|
初学一级
|
园豆:67

提问于:2018-05-16 10:26

牛逼的写法,谢谢dudu,xiexie演员。

屌丝大叔的笔记

1年前

回复

显示帮助

使用"Ctrl+Enter"可进行快捷提交,评论支持部分 Markdown 语法:[link](http://example.com) _italic_ **bold** `code`。

<
>

找找看

分享

分享您的问题

微信扫一扫:分享

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAEsElEQVR4Xu2dyXLjMBBD5f//6KRclUNEqfgIoWktxlyb7AXohaQ98WtZlp/ls/9ejTmy365vvW33k35XPhWtt3MESLUDBEhrL4RUM9DoCyEdgFMh2w6hJkxp/u4RQi1CdYB6PM0EtYVV+6f6b9kPIXqFTE3YEBJCFsowOvXRfqtlLMvGv8u1LAKIerwakLue/KGZRUOd5JQQ3f0jLSuErCEOIZBylDDU4qgiVXkqBBAIIfBWpQJkZdzOkCZ97owh/befIVaAIcQ/NtJMoFMU9XwiOBUiPseHEDGl6FhIM0Q0t/n4QLVPFaXKyf/bzRAKyG0pswkj/0NIg1AIAUAoo0iutpTbE0KAkJwAc1sQ2Xdnluo/+dONd+QtSzWgAqyud4/FajwhROz5BHAqBO4VBBBl5NdVCGWcK589VGfrd+Pv7r/it05mA+rqDyHiTHEBp/0h5NsImcr4gPLqId6aVDOeDh0DIR1fcqrxP7dDyD/+Qsg2mU/F5FTjqZD9bKCLltuDqSXR0wnNBGrYFB/pV/0nf+S3LNVBdT1VJQFI+1WCq/0PIYAAERxCTAAfXyFuiVOJzgaQ7JNc9a8ar5X9PWfUEq8OuNp+tX8hhBA15akQc4aY+G+2X44QOmeTnACi/aqc7KmnJlrvtigifBX/yGfqBBgBRPtVOdkjgGlGSQAOOCPpCyFbRCUAQ8gAAs0S9+nn9JZFIbsBui2KMlgFkOKpttfF98hn6hSA2sNdfZRA6syghHHthRBAkBIiFSIC6Gbs4wlxA6SWQXIiiGaM679lf8YMcQMiwEluAXLFv+RAAamAqwDSepKT/6kQuBecDRARTHI1AbrxHrmpqw5UV5R7jCX/3VMV7e8SHEL0pxO1oqX1ISSElP83ZvVl4HYtixwmAKQS3fkztdSDSb/qP8VDQ51mmuTPkXsIBUCAqUOeAioF5MA9pNR+COEZkgqhkmjkpRl6xQpxWwplVHVLU+0R36RPlVOLn/6ZOjkcQtYIhBAoEUooVZ4KoZ70dELUjKF7hquPhjzNSJNP/EPM3Yo58nRCAany2TNFahkuGwOntBDSIEAJ43Ki6l+tT4XU/8KQTYibEe5+6vluy3FnFsWnzjxsWWRwtjyE/EOYsmc2GW/9ISSErPKMWg4lJe2nhMOhTg64cqpKNUDSR/669mi/ZL/i+Z0M0lCuvoeo/hCgrpz8wbcsUuDKKaNnA1CdAOQv4RVCGoQIUFduE0IZTAbUDKxeTy1SGrIDwRJhUnwjN/UBn7pLSh3esaQCrK6n+EvjCyFbuNUOEUJgBjy+ZVGJqwDQ45uaoWpLofWunPzvVtRIywohGkUhBPBSE0qDX59BqRAXYXH/11UIZTwBQvieqv+OM+RUwCb8LuIqQULItl5OJTyEhBD7B+7p3kNvR7TfvXnTjOrKr1AhKoAEqKrPvahSi5MICiGf/+3eVAik6O0qRCq5gedxAkBtSeSfOhNUfeSv1NJGWhY5SHIChByuvuhV6wshlAGNnBJCVIffI1M7gHwxVB2mU47qcHVGV+ubXiEuAbSfCFEBowpQ5QQwxUf2ugl7he9lqQG4FUgJEUIaBFIhVIPFcsrQrybkF6iSsDssS9rYAAAAAElFTkSuQmCC">

微信里点“发现”,扫一下

二维码便可将本文分享至朋友圈。

最佳答案

1

? 如果不为null,执行其后的方法;?? 如果为null,返回其后的值。

        <div id="answer_option_226950">
<div class="qclear">
<div class="lf green">
收获园豆:<span class="red">5</span>
</div>
<div class="answer_author">
<a class="bluelink linkanswercommenttiny" aid="226950" id="link_answercomment_226950" onclick="showCommentMarkdownEditor('link_answercomment_226950', 0)" href="javascript:void(0);">回复</a>
<span class="v-split">|</span>
<a href="/u/dudu/" class="bluelink">dudu</a>
<span class="v-split">|</span>
<a class="graylink" href="/q/faq#qt">高人七级</a>
<span class="v-split">|</span>园豆:41494
<span class="v-split">|</span>
2018-05-16 10:32
</div>
</div>
</div>
<div class="q_answercomm" id="q_answercomm_226950">
</div>

上传图片

Ctrl+Enter键快速提交

其他回答(1)

0

等价于

         bool isNull;
if (user != null)
{
if (user.Identity != null)
{
if (user.Identity.IsAuthenticated != null)
{
isNull = user.Identity.IsAuthenticated;
}
}
}
isNull = false;
if (isNull)
{
        } </span></pre>
                    <div id="answer_option_226955">
回复
|
写代码的相声演员
|
园豆:541
(小虾三级)
|
2018-05-16 11:38

</div>
                    </div>

                    <div class="q_answercomm qclear" id="q_answercomm_226955">
</div>

上传图片

Ctrl+Enter键快速提交



清除回答草稿

上传图片

Ctrl+Enter键快速提交

<div id="google_ad_bottom">
<script type="text/javascript">
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
(function () {
var gads = document.createElement('script');
gads.async = true;
gads.type = 'text/javascript';
var useSSL = 'https:' == document.location.protocol;
gads.src = (useSSL ? 'https:' : 'http:') +
'//www.googletagservices.com/tag/js/gpt.js';
var node = document.getElementsByTagName('script')[0];
node.parentNode.insertBefore(gads, node);
})();
</script> <script type="text/javascript">
googletag.cmd.push(function () {
googletag.defineSlot('/1090369/cnblogs_question_Q2', [728, 90], 'div-gpt-ad-1436511848662-0').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.pubads().collapseEmptyDivs();
googletag.enableServices();
});
</script> <!-- /1090369/cnblogs_question_Q2 -->
<div id="div-gpt-ad-1436511848662-0" style="height:90px; width:728px;" data-google-query-id="CPeVmvWlrOMCFQcaKgodbM8C7w"> <div id="google_ads_iframe_/1090369/cnblogs_question_Q2_0__container__" style="border: 0pt none;"><iframe id="google_ads_iframe_/1090369/cnblogs_question_Q2_0" title="3rd party ad content" name="google_ads_iframe_/1090369/cnblogs_question_Q2_0" width="728" height="90" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" srcdoc="" style="border: 0px; vertical-align: bottom;" data-google-container-id="1" data-load-complete="true"></iframe></div></div>
</div> </div>
posted @
2019-07-11 15:05 
kennard_owen 
阅读(...) 
评论(...) 
编辑 
收藏

if (user?.Identity?.IsAuthenticated ?? false)这几个问号分别都代表啥意思?的更多相关文章

  1. HttpContext.Current.User.Identity.IsAuthenticated

    HttpContext.Current.User.Identity.IsAuthenticated=false; HttpContext.Current.User.Identity.Name==&qu ...

  2. 如何手动让HttpRequestBase.IsAuthenticated 和 HttpContext.User.Identity.IsAuthenticated 为true.

    今天为了重写权限验证这块需要重写AuthorizeAttribute 这个属性,看了官方文档:HttpContextBase.User.Identity.IsAuthenticated 这个必须是tr ...

  3. [Asp.Net] Form验证中 user.identity为false

    这个方法可以是user.identity设置为true FormsAuthentication.SetAuthCookie(Username, true); 但是要开启form验证, 在配置文件中 & ...

  4. httpContext.User.Identity.IsAuthenticated 总是为fasle

    验证一直通不过,不知道问题在哪里.这个坑应该只有我自己遇到,记录一下,问题在使用swagger验证的时候出现的(说的很轻松) 如图所示,在swaager文档中,添加认证功能,此时只要我们填下登陆时获取 ...

  5. if (HttpContext.Current.User.Identity.IsAuthenticated) 权限验证总是true

    将浏览器关闭重启. 注:该语句是判断用户是否经过验证.

  6. ASP.NET Core Identity 实战(4)授权过程

    这篇文章我们将一起来学习 Asp.Net Core 中的(注:这样描述不准确,稍后你会明白)授权过程 前情提要 在之前的文章里,我们有提到认证和授权是两个分开的过程,而且认证过程不属于Identity ...

  7. ASP.NET Core实现OAuth2.0的AuthorizationCode模式

    前言 在上一篇中实现了resource owner password credentials和client credentials模式:http://www.cnblogs.com/skig/p/60 ...

  8. ASP.NET Web API 全局权限和全局异常处理

    在开发中,我使用json格式序列化,所以将默认的xml序列化移除 public static class WebApiConfig { public static void Register(Http ...

  9. ASP.NET MVC:窗体身份验证及角色权限管理示例

    ASP.NET MVC 建立 ASP.NET 基础之上,很多 ASP.NET 的特性(如窗体身份验证.成员资格)在 MVC 中可以直接使用.本文旨在提供可参考的代码,不会涉及这方面太多理论的知识. 本 ...

随机推荐

  1. release操作流程

    1.release:prepare 这条命令主要是做打包前的准备. 输入对应的release需要打包的版本等信息,如果不输入有默认的内容 将需要记录和准备的内容缓存到pom.xml目录下的releas ...

  2. leetcode-350- 两个数组的交集 II

    问题: package com.example.demo; import java.util.ArrayList; import java.util.Arrays; import java.util. ...

  3. jq轮播图实现

    html基本框架如下: <div class="out"> <ul class="img"> <li><a href= ...

  4. Mac 安装cnpm

    1.先安装node   node的下载地址:http://nodejs.cn/download/   这个没什么好说的,安装完成后测试一下,在终端输入:node -v   这时候就可以看到安装的nod ...

  5. java 多线程间通信(二)

    传统的线程通信 Object提供了三个方法wait(), notify(), notifyAll()在线程之间进行通信,以此来解决线程间执行顺序等问题. wait():释放当前线程的同步监视控制器,并 ...

  6. 2018-8-10-git-push-错误-hook-declined-

    title author date CreateTime categories git push 错误 hook declined lindexi 2018-08-10 19:16:52 +0800 ...

  7. 一、bootstrap-select输入选择框

    一.bootstrap-select简单使用 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  8. [css知识体系]flexbox模型

    背景 flexbox 模型的产生主要是为给布局.对齐和容器内的空间分配提供一个更有效的方法,即使尺寸未知或是动态改变的(flex,收缩,弹性 就是为此命名). flex布局使得容器能够改变子元素的宽高 ...

  9. 在scite编辑器中使用astyle格式化c代码

    用 vc6 很喜欢 alt+F8 的功能. 能够格式化代码. scite 没有这个功能. 今天看它的配置文件发现这么两行: command.name.0.*.cxx=Indent command.0. ...

  10. Springmvc中的一些问题解决

    Spring mvc中的异常 做统一处理,全局异常处理器 异常处理类代码: 必须实现接口  然后返回值是ModelAndView  那就可以做个展示页面了 package com.toov5.mvc. ...