Как условно перенаправить в зависимости от имени входа в ASP.NET C # framework 4 - PullRequest
0 голосов
/ 21 марта 2012

Я использую Visual Studio 2010 ASP.NET с C # на задней платформе 4

Поставляется с механизмом регистрации / входа / выхода пользователя.

при загрузке страницы default.aspx Я хотел бы перенаправить пользователей: user1 и user2 на default2.aspx, а остальных пользователей на default3.asp

Я не хотел бы использовать куки, но использование сессии приемлемо.

что-то вроде:

if (username == "user1" || username == "user2")  
{
Response.Redirect("defualt2.aspx"); 
} 
else 
{
Response.Redirect("default3.aspx"); 
}

Ответы [ 4 ]

2 голосов
/ 21 марта 2012
void Page_Load(object sender, EventArgs e)
{
    switch (User.Identity.Name)
    {
        case "user2":
        case "user1":
            Response.Redirect("defualt2.aspx");
            break;
        default:
            Response.Redirect("default3.aspx");
            break;
    }
 }

Однако вы можете использовать Server.Transfer вместо Response.Redirect, если вы не хотите, чтобы адрес изменялся в адресной строке.

0 голосов
/ 21 марта 2012
if (Page.User.Identity.Name == "user1" || Page.User.Identity.Name == "user2")  
{
    Response.Redirect("defualt2.aspx"); 
} 
else 
{
    Response.Redirect("default3.aspx"); 
}

Это должно быть сделано, если вы находитесь в пределах кода aspx

0 голосов
/ 21 марта 2012

Вау! Есть множество способов сделать это. Когда пользователь входит в систему, вы можете установить переменную сеанса, идентифицирующую пользователя, а затем использовать указанный выше код, но вместо этого проверить имя пользователя == Session ["user1"]. ToString (), но этот код не рекомендуется, поскольку теперь вы блокируетесь жесткое кодирование имени пользователя в коде. Далее следует поместить имя пользователя в файл web.config, чтобы его можно было легко изменить, но, опять же, это неприемлемо.

Похоже, вы, вероятно, делаете это из соображений безопасности. Если это так, вам следует обратиться к поставщику ролей, который уже является частью платформы. Это предоставляет вам механизм для размещения пользователей в определенных ролях, а затем на основе этой роли разрешать или запрещать пользователям определенные страницы на основе декоратора над классом.

Я бы не стал использовать код, который вы опубликовали, ни при каких обстоятельствах. Не стоит жестко кодировать имена пользователей в коде.

0 голосов
/ 21 марта 2012

User.Identity.Name от System.Web

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...