Как изменить страницу перенаправления по умолчанию URL-адреса в карте сайта на другой странице в C# asp.net
У меня есть две домашние страницы, которые отличаются для пользователей и администраторов. Для пользователей - Default.aspx, а для администратора - AdminDefault.aspx. На моей странице Site.Master он содержит 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>
Когда администратор входит в систему, администратор перенаправляет на домашнюю страницу по умолчанию
2 ответа
Решение
Учитывая, что у вас есть следующая функция, чтобы определить, является ли пользователь членом группы администраторов.
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");
}
}