如何使用C#检查MySql数据库是否存在电子邮件,如果不存在,则重定向?

如何使用C#检查MySql数据库是否存在电子邮件,如果不存在,则重定向?,c#,mysql,asp.net,email,C#,Mysql,Asp.net,Email,简单地说,我正在创建一个应用程序,用户需要有一个gmail帐户才能访问。如何检查数据库以查看用户电子邮件是否存在,如果不存在,则重定向到Google主页 以下是我用来获取电子邮件地址的代码: if (!IsPostBack) { ClaimsPrincipal principal = HttpContext.Current.User as ClaimsPrincipal; if (null != principal)

简单地说,我正在创建一个应用程序,用户需要有一个gmail帐户才能访问。如何检查数据库以查看用户电子邮件是否存在,如果不存在,则重定向到Google主页

以下是我用来获取电子邮件地址的代码:

if (!IsPostBack)
        {
            ClaimsPrincipal principal = HttpContext.Current.User as ClaimsPrincipal;
            if (null != principal)
            {

                foreach (Claim claim in principal.Claims)
                {
                    if (claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress")
                    {
                        Session["UserEmail"] = claim.Value;
                    }

                    //Response.Write("CLAIM TYPE: " + claim.Type + "; CLAIM VALUE: " + claim.Value + "</br>");
                }
            }
        }
if(!IsPostBack)
{
ClaimsPrincipal principal=HttpContext.Current.User作为ClaimsPrincipal;
if(null!=主体)
{
foreach(主要索赔。索赔)
{
如果(claim.Type==)http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress")
{
会话[“UserEmail”]=索赔.Value;
}
//响应。写入(“索赔类型:“+CLAIM.TYPE+”;索赔值:“+CLAIM.VALUE+”
”; } } }
为了获得电子邮件地址,我需要这样获得它。很复杂,是的。但这是一个多星期的工作,以获得它,所以我感到自豪的是,至少这部分工作:)


我知道我需要一个
,如果
在代码下面,我只是不确定查询是什么。提前谢谢

我之所以加上这个作为回答,是因为我对发表评论所需的声誉感到羞耻。这不仅仅是一个回答,而是一个评论,对此我深表歉意

您不清楚要检查的“数据库”是什么。你想查询谷歌看看他们的电子邮件地址是否有效吗?或者看看会话[“UserEmail”]中包含的电子邮件地址是否是gmail地址(即“@gmail.com”地址)

顺便说一句,对于…您在那里的每个会话,每次它迭代时都会覆盖会话[“UserEmail”],因此实际上,您将始终获得集合中的最后一个值,即使它是空的(或null?)。你可以用break;语句来缩短任何进一步的迭代,但想想你在这里做什么,以及在什么情况下你想重定向它们。你的前进方向是:“如果委托人的最后一次声明没有谷歌地址,请将它们重定向到谷歌”.我怀疑你真的想这么做


最后,我不确定你的用户是谁,但总的来说,坚持用户有来自特定提供商、特定浏览器、特定屏幕分辨率等的电子邮件是完全令人讨厌的。如果这是针对普通公众的,那就放弃gmail要求(尽管我个人使用并热爱gmail).

为什么不尝试实现oauth?你重定向到google的注册页面有什么意义?看看这个资源,我想这种方法更标准。对不起,我应该详细说明一下……MySql数据库中有一个用户表,其中包含所有用户的电子邮件地址。我想运行一个
标量计数
然后查看电子邮件地址是否在那里。如果返回
0
,则重定向到谷歌。其他任何操作都只会使程序继续运行。至于gmail要求,这是直接从客户那里获得的。她热爱谷歌,并将向用户提供Chromebook作为其软件包的一部分。该程序是为老年家庭的用户提供的我同意,这完全是一件令人讨厌的事,但那正是她想要的。