Member 9320578 Ответов: 3

Я пытаюсь сделать простой вход в систему с ролями.


Привет,

Кто-нибудь знает учебник или хотел бы опубликовать, как сделать вход в систему с ролями. Когда пользователь входит в систему, я хотел бы перенаправить его на определенную страницу. Через: страницу администратора или партнеров, страницу клиента. Кроме того, вы не должны иметь возможности войти ни на одну из этих страниц без входа в систему. Я нашел много кода, который я могу получить на странице администратора без необходимости входа в систему. Я также попробовал ASP.NET -но мне показалось, что все кончено. К тому же я никак не могу заставить его делать то, что ищу.

Любая помощь будет очень признательна. Спасибо

Что я уже пробовал:

Я нашел много кода, который я могу получить на странице администратора без необходимости входа в систему. Я также попробовал ASP.NET -но мне показалось, что все кончено. К тому же я никак не могу заставить его делать то, что ищу.

F-ES Sitecore

Google "asp.net идентичность" или "asp.net членство" (хотя членство было заменено идентичностью). Это даст вам все, что вам нужно. Это довольно большая, запутанная тема. При создании нового сайта в VS есть возможность добавить идентификатор в базовый проект (выберите отдельные учетные записи пользователей в качестве опции аутентификации).

3 Ответов

Рейтинг:
2

BobbyStrain

Есть несколько хороших книг, использующих ASP.NET на эту тему. Возьми одну из них. Это не обязательно должна быть последняя версия, так что вы можете получить подержанную книгу за очень небольшую плату.


Рейтинг:
1

Kasar_7

Давайте рассмотрим это так, как у вас есть роль в вашей базе данных в качестве (администратора) U (пользователя)
Используйте приведенный ниже код для проверки роли и перенаправления на нужную страницу

string Utype;
           Utype = dt.Rows[0][10].ToString().Trim();// This will count and select the role A or U from your table.so remember to change the rows number according to your table data
           if (Utype == "U")
           {
               Session["Username"] = UserName.Text;
               Response.Redirect("UserHome.aspx");
           }
           else if (Utype == "A")
               Session["Username"] = UserName.Text;
           Response.Redirect("~/Admin/Admin_Home.aspx");

       }


       else
       {
           lblError.ForeColor = Color.Red;
           lblError.Text = "Invalid Username or Password";
       }
       }


Рейтинг:
0

Thiago Vaini

Вы используете MVC? Если да, то какая версия?

Если нет, то вы должны использовать сеанс, и ниже приведена логика о том, как заставить его работать.

Установите тип пользователя в БД, а затем, когда пользователь войдет в систему, получите тип пользователя и создайте сеанс на основе типа пользователя.

Подобный этому:
if (userType == 1) { Session ["Admin"] = objUserAdmin; } и так далее

Затем на Page_Load из вашего Index. aspx в админке просто проверьте, есть ли сеанс ["Admin"]! = null... если он нулевой, просто перенаправьте пользователя, потому что он не является администратором.

Вы должны адаптировать свой код для работы со всеми типами пользователей

Надеюсь, это поможет!


Member 9320578

Я не использую MVC. ASP.NET 4.0 я ценю ваш ответ, но дело в том, что я не знаю, должен ли я использовать ASP.NET конфигурация или нет. Я не хочу, но тогда я застрял на части безопасности. Есть ли у вас какие-либо предложения о том, как начать этот проект?

Thiago Vaini

Ну, я никогда не использовал ASP.NET конфигурационные файлы для этого есть, но когда вы используете сеансы, нет никакого способа, как обычный пользователь, получить доступ к странице администратора, как только вы устанавливаете сеанс на основе типа пользователя