Вам вообще не нужно создавать свой собственный главный объект. Все, что вы можете сделать, - это использовать один из готовых MembershipProvider (например, SQLMembershipProvider) для управления вашим пользователем и использовать один из RoleProvider (например: SQLRoleProvider) для установки авторизации для пользователей, если требуется.
Чтобы получить пользователя, вам не нужно сохранять его в сеансе. Просто используйте Page.User для получения основной информации текущего пользователя (имя, IsAuthenticated).
Чтобы проверить, верны ли учетные данные пользователя, вы можете использовать
Membership.ValidateUser(username,password).
Для входа в систему я предлагаю вам использовать предоставленный элемент управления ASP.NET Login, но вы можете кодировать свой собственный логин, немного потрудившись. Если вы используете проверку подлинности формы, это что-то вроде:
if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text))
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
else
Msg.Text = "Login failed. Please check your user name and password and try again.";
P.S .: Пример взят из MSDN
Наконец, чтобы проверить, может ли пользователь выполнить действие, вы используете
RoleProvider.IsUserInRole(username,rolename)
Вы также можете контролировать доступ к ресурсу (странице, файлу, папке и т. Д.) Путем авторизации конфигурации в вашем web.config ex:
Надеюсь, что эта помощь и не стесняйтесь просить больше информации, если не ясно
Редактировать
Чтобы ответить на ваш комментарий, вот как это работает:
Page.User использует куки-файл аутентификации для идентификации текущего пользователя. Этот файл cookie автоматически устанавливается в FormsAuthentication.RedirectFromLoginPage, но, если вы просто хотите установить текущего пользователя без перенаправления, вы можете вручную вызвать FormsAuthentication.SetAuthCookie (userName, persistentCookie), где persistentCookie - логическое значение, указывающее, хотите ли вы, чтобы этот файл cookie был постоянным. или нет в браузере.
Надеюсь, что уточнить исходный ответ