此代码应允许两种类型的访问方式来访问我的页面。

在对第二个if语句进行编码之后,我将无法再访问该页面。

这是我的代码。

private void AuthenticateUser()
{
    if ((string)Session["user_type"] != "user")
    {
        Response.Redirect("~/Pages/Account/Login.aspx");
    }
    if ((string)Session["user_type"] != "special_user")
    {
        Response.Redirect("~/Pages/Account/Login.aspx");
    }
}


我想要的是仅允许两种类型的用户userspecial_user访问特定页面。

最佳答案

您的逻辑存在缺陷。如果您是“ special_user”,那么第一个if块将返回false(毕竟,您是“ special_user”,而不仅仅是“ user”),并且您将被重定向。

在一个语句中检查两种类型:

var userType = (string)Session["user_type"];

if (userType != "user" && userType != "special_user")
{
    Response.Redirect("~/Pages/Account/Login.aspx");
}

关于c# - 仅允许两种类型的用户,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36993670/

10-10 08:54