如何在 C# asp.net 中的另一个页面中更改站点地图中 URL 的默认重定向页面

本文关键字:站点 重定向 默认 URL 地图 另一个 asp net | 更新日期: 2023-09-27 18:37:25

我有两个主页,对于用户和管理员来说是不同的。对于用户来说,它是默认的.aspx对于管理员来说,它的是AdminDefault.aspx。在我的网站母版页中,它包含主页和其他默认页面的默认 URL,如下所示,

<ul id="menu">
     <li><a runat="server" id="home" href="~/">Home</a></li>
     <li><a runat="server" href="~/About.aspx">About</a></li>
     <li><a runat="server" href="~/Contact.aspx">Contact</a></li>
</ul>

当管理员登录时,管理员将重定向到默认主页

如何在 C# asp.net 中的另一个页面中更改站点地图中 URL 的默认重定向页面

假设您具有以下函数来确定用户是否是管理员组的成员

bool IsInGroup(string user, string group)
{
    using (var identity = new WindowsIdentity(user))
    {
        var principal = new WindowsPrincipal(identity);
        return principal.IsInRole(group);
    }
}

然后,在 IF 语句之后重定向是一个简单的问题,如下所示:

if(IsInGroup(User.Name, "Administrators")
    return RedirectToAction("AdminDefault.aspx");

(请注意,上面的代码示例是从内存中编写的,可能并不准确。事实上,它可能不是)

Check Role Using session and provide condition like this

    string Role="";
    on Login button click event check the role
   YourLoginMethod()
   {
      // Your Login Code and after check
     //Pass Role in string above or Use session
     if(Role=="admin")
     {
     Response.Redirect("~/Admin.aspx");
    }
    else{
     Response.Redirect("~/Index.aspx");
    }
   }