- Создание формы входа с MS Access в Windows Form шаг за шагом на C#
- Проверка подлинности пользователей с помощью проверки подлинности на основе форм (C#) Authenticating Users with Forms Authentication (C#)
- Использование инструмента администрирования веб-сайта Using the Web Site Administration Tool
- Требование авторизации Requiring Authorization
- Авторизация по имени пользователя или роли пользователя Authorizing by User Name or User Role
- Настройка аутентификации Configuring Authentication
- Настройка разрешений на базу данных Configuring Database Permissions
Создание формы входа с MS Access в Windows Form шаг за шагом на C#
В этой статье рассматривается, как создать приложение Windows Form в C# в качестве страницы входа, которая в основном содержит все приложения в качестве начальной страницы, где пользователи будут проверены на их пароли.
Шаг 1:
Создайте проект Windows Form и разместите на нем компоненты как показано на скрине ниже.
Шаг 2:
Обычный способ любой формы входа будет содержать пароль, отображаемый специальным символом, который используется в целях безопасности. Чтобы ввести это понятие в форму входа в систему, выберите параметр свойства текстового поля, в котором вы можете найти параметр PasswordChar, где вы можете дать желаемый специальный символ (в моем случае я использовал * звездочку). После внесения этого изменения, если вы запустите приложение, оно будет отображать только специальный символ при вводе пароля.
Шаг 3:
Теперь настало время для создания репозитория для вашей формы входа.Для этого перейдите в меню Пуск и найдите MS Access, а затем нажмите один раз, чтобы открыть. Создайте БД с именем dbUsers.accdb
Шаг 4:
Создадим таблицу с именем tblUser и поля id, user, pass. А так же внесем значения в БД.
Шаг 5:
Скопируем нашу БД в каталог программы изменив при это целевую платформу на x64
Проверка подлинности пользователей с помощью проверки подлинности на основе форм (C#) Authenticating Users with Forms Authentication (C#)
Узнайте, как использовать атрибут «Авторизовать» для защиты паролем в приложении MVC. Learn how to use the [Authorize] attribute to password protect particular pages in your MVC application. Вы узнаете, как использовать инструмент администрирования веб-узла для создания и управления пользователями и ролями. You learn how to use the Web Site Administration Tool to create and manage users and roles. Вы также узнаете, как настроить, где хранится учетная запись пользователя и информация о роли. You also learn how to configure where user account and role information is stored.
Цель этого руководства состоит в том, чтобы объяснить, как можно использовать проверку подлинности Forms для защиты паролем в ASP.NET приложениях MVC. The goal of this tutorial is to explain how you can use Forms authentication to password protect the views in your ASP.NET MVC applications. Вы узнаете, как использовать инструмент администрирования веб-узла для создания пользователей и ролей. You learn how to use the Web Site Administration Tool to create users and roles. Вы также узнаете, как предотвратить несанкционированные пользователи от вызывая действия контроллера. You also learn how to prevent unauthorized users from invoking controller actions. Наконец, вы узнаете, как настроить, где хранятся имена пользователей и пароли. Finally, you learn how to configure where user names and passwords are stored.
Использование инструмента администрирования веб-сайта Using the Web Site Administration Tool
Прежде чем делать что-либо еще, мы должны начать с создания некоторых пользователей и ролей. Before we do anything else, we should start by creating some users and roles. Самый простой способ создания новых пользователей и ролей, чтобы воспользоваться Visual Studio 2008 Веб-сайт администрации инструмента. The easiest way to create new users and roles is to take advantage of the Visual Studio 2008 Web Site Administration Tool. Вы можете запустить этот инструмент, выбрав вариант меню Project, ASP.NET Configuration. You can launch this tool by selecting the menu option Project, ASP.NET Configuration. Кроме того, вы можете запустить инструмент администрации веб-сайта, нажав на (несколько страшно) значок молотка удара мира, который появляется в верхней части окна Solution Explorer (см. Рисунок 1). Alternatively, you can launch the Web Site Administration Tool by clicking the (somewhat scary) icon of the hammer hitting the world that appears at the top of the Solution Explorer window (see Figure 1).
Рисунок 1 — Запуск инструмента администрирования веб-сайта Figure 1 – Launching the Web Site Administration Tool
В инструменте администрации веб-узла вы создаете новых пользователей и роли, выбирая вкладку безопасности. Нажмите на ссылку пользователя Create для создания нового пользователя по имени Стивен (см. рисунок 2). Within the Web Site Administration Tool, you create new users and roles by selecting the Security tab. Click the Create user link to create a new user named Stephen (see Figure 2). Предоставьте пользователю Stephen любой пароль, который вы хотите (например, секрет). Provide the Stephen user with any password that you want (for example, secret).
Рисунок 2 — Создание нового пользователя Figure 2 – Creating a new user
Вы создаете новые роли, сначала включив роли и определив одну или несколько ролей. You create new roles by first enabling roles and defining one or more roles. Включить роли, нажав на ссылку ролей Включить. Enable roles by clicking the Enable roles link. Затем создайте роль, названную Администраторами, нажав ссылку на роли «Создать или управлять» (см. рисунок 3). Next, create a role named Administrators by clicking the Create or Manage roles link (see Figure 3).
Рисунок 3 — Создание новой роли Figure 3 – Creating a new role
Наконец, создайте нового пользователя по имени Салли и свяжите Салли с ролью администраторов, нажав на ссылку Create User и выбрав администраторов при создании Салли (см. рисунок 4). Finally, create a new user named Sally and associate Sally with the Administrators role by clicking the Create User link and selecting Administrators when creating Sally (see Figure 4).
Рисунок 4 — Добавление пользователя к роли Figure 4 – Adding a user to a role
Когда все сказано и сделано, вы должны иметь два новых пользователей по имени Стивен и Салли. When all is said and done, you should have two new users named Stephen and Sally. Вы также должны иметь новую роль под названием Администраторы. You should also have a new role named Administrators. Салли является членом роли администраторов и Стивен не является. Sally is a member of the Administrators role and Stephen is not.
Требование авторизации Requiring Authorization
Вы можете потребовать, чтобы пользователь был проверен до того, как пользователь выссылает действие контроллера, добавляя атрибут «Авторизовать» в действие. You can require a user to be authenticated before the user invokes a controller action by adding the [Authorize] attribute to the action. Вы можете применить атрибут «Authorize» к индивидуальному действию контроллера или применить этот атрибут ко всему классу контроллера. You can apply the [Authorize] attribute to an individual controller action or you can apply this attribute to an entire controller class.
Например, контроллер в листинге 1 предоставляет действие под названием CompanySecrets(). For example, the controller in Listing 1 exposes an action named CompanySecrets(). Поскольку это действие украшено атрибутом «Authorize», это действие не может быть вызвано, если пользователь не проверен. Because this action is decorated with the [Authorize] attribute, this action cannot be invoked unless a user is authenticated.
Список 1 — Контролеры-HomeController.cs Listing 1 – Controllers\HomeController.cs
Если вы вызываете действие CompanySecrets() путем ввода URL /Home/CompanySecrets в адресной строке вашего браузера, и вы не являетесь аутентифицированным пользователем, то вы будете перенаправлены на представление входа автоматически (см. рисунок 5). If you invoke the CompanySecrets() action by entering the URL /Home/CompanySecrets in the address bar of your browser, and you are not an authenticated user, then you will be redirected to the Login view automatically (see Figure 5).
Рисунок 5 — Вид входа Figure 5 – The Login view
Вы можете использовать представление Login для ввода имени пользователя и пароля. You can use the Login view to enter your user name and password. Если вы не являетесь зарегистрированным пользователем, то вы можете нажать на ссылку регистра для навигации по представлению Регистра (см. рисунок 6). If you are not a registered user then you can click the register link to navigate to the Register view (see Figure 6). Для создания новой учетной записи пользователя можно использовать представление Регистра. You can use the Register view to create a new user account.
Рисунок 6 — Представление Регистра Figure 6 – The Register view
После успешного входа в систему можно увидеть представление CompanySecrets (см. рисунок 7). After you successfully log in, you can see the CompanySecrets view (see Figure 7). По умолчанию вы будете продолжать входить в систему до тех пор, пока не закроете окно браузера. By default, you will continue to be logged in until you close your browser window.
Рисунок 7 — Представление CompanySecrets Figure 7 – The CompanySecrets view
Авторизация по имени пользователя или роли пользователя Authorizing by User Name or User Role
Вы можете использовать атрибут «Authorize», чтобы ограничить доступ к действию контроллера определенному набору пользователей или определенному набору ролей пользователей. You can use the [Authorize] attribute to restrict access to a controller action to a particular set of users or a particular set of user roles. Например, модифицированный контроллер Home в листинге 2 содержит два новых действия под названием StephenSecrets() и AdministratorSecrets(). For example, the modified Home controller in Listing 2 contains two new actions named StephenSecrets() and AdministratorSecrets().
Список 2 — Контролеры-HomeController.cs Listing 2 – Controllers\HomeController.cs
Только пользователь с именем пользователя Стивен может вызвать действие StephenSecrets () Only a user with the user name Stephen can invoke the StephenSecrets() action. Все остальные пользователи перенаправляются на представление входа. All other users get redirected to the Login view. Свойство пользователей принимает запятую разделенный список имен учетных записей пользователя. The Users property accepts a comma separated list of user account names.
Только пользователи в роли Администратора могут вызывать действия AdministratorSecrets() Only users in the Administrators role can invoke the AdministratorSecrets() action. Например, поскольку Салли является членом группы администраторов, она может вызвать действие AdministratorSecrets() . For example, because Sally is a member of the Administrators group, she can invoke the AdministratorSecrets() action. Все остальные пользователи перенаправляются на представление входа. All other users get redirected to the Login view. Свойство Роли принимает запятый разделенный список имен ролей. The Roles property accepts a comma separated list of role names.
Настройка аутентификации Configuring Authentication
На этом этапе может возникнуть вопрос о том, где хранится учетная запись пользователя и информация о роли. At this point, you might be wondering where the user account and role information is being stored. По умолчанию информация хранится в базе данных ASPNETDB.mdf( которая хранится в_папке App Data вашего приложения MVC. By default, the information is stored in a (RANU) SQL Express database named ASPNETDB.mdf located in your MVC application’s App_Data folder. Эта база данных генерируется ASP.NET инфраструктурой автоматически, когда вы начинаете использовать членство. This database is generated by the ASP.NET framework automatically when you start using membership.
Для того, чтобы увидеть базу данных ASPNETDB.mdf в окне Solution Explorer, сначала необходимо выбрать вариант меню Project, показать все файлы. In order to see the ASPNETDB.mdf database in the Solution Explorer window, you first need to select the menu option Project, Show All Files.
При разработке приложения использование базы данных по умолчанию s-L Express является прекрасным. Using the default SQL Express database is fine when developing an application. Однако, скорее всего, вы не захотите использовать базу данных ASPNETDB.mdf по умолчанию для производственного приложения. Most likely, however, you won’t want to use the default ASPNETDB.mdf database for a production application. В этом случае вы можете изменить, где хранится информация об учетной записи пользователя, выполнив следующие два шага: In that case, you can change where user account information is stored by completing the following two steps:
- Добавление объектов базы данных служб приложений в базу данных производства — Изменение строки подключения приложения, чтобы указать на производственную базу данных Add the Application Services database objects to your production database — Change your application connection string to point to your production database
Первым шагом является добавление всех необходимых объектов базы данных (таблиц и сохраненных процедур) в производственную базу данных. The first step is to add all of the necessary database objects (tables and stored procedures) to your production database. Самый простой способ добавить эти объекты в новую базу данных — воспользоваться преимуществами ASP.NET мастером настройки сервера S’L (см. рисунок 8). The easiest way to add these objects to a new database is to take advantage of the ASP.NET SQL Server Setup Wizard (see Figure 8). Вы можете запустить этот инструмент, открыв Visual Studio 2008 Командный запрос от группы программы Microsoft Visual Studio 2008 и выполняя следующую команду из команды запроса: You can launch this tool by opening the Visual Studio 2008 Command Prompt from the Microsoft Visual Studio 2008 program group and executing the following command from the command prompt:
Рисунок 8 — Мастер ASP.NET настройки сервера S’L Figure 8 – The ASP.NET SQL Server Setup Wizard
Мастер ASP.NET настройки сервера S’L позволяет выбрать базу данных сервера S’L в вашей сети и установить все объекты базы данных, требуемые службами ASP.NET приложений. The ASP.NET SQL Server Setup Wizard enables you to select a SQL Server database on your network and install all of the database objects required by the ASP.NET application services. Сервер базы данных не требуется для расположения на локальной машине. The database server is not required to be located on your local machine.
Если вы не хотите использовать ASP.NET мастере настройки сервера S’L, то вы можете найти скрипты для добавления объектов базы данных служб приложений в следующую папку: If you don’t want to use the ASP.NET SQL Server Setup Wizard, then you can find SQL scripts for adding the application services database objects in the following folder:
После создания необходимых объектов базы данных необходимо изменить соединение базы данных, используемое вашим приложением MVC. After you create the necessary database objects, you need to modify the database connection used by your MVC application. Измените строку подключения ApplicationServices в файле веб-конфигурации (web.config), чтобы она указала на производственную базу данных. Modify the ApplicationServices connection string in your web configuration (web.config) file so that it points to the production database. Например, измененное соединение в листинге 3 указывает на базу данных под названием MyProductionDB (оригинальная строка подключения ApplicationServices была прокомментирована). For example, the modified connection in Listing 3 points to a database named MyProductionDB (the original ApplicationServices connection string has been commented out).
Список 3 — Web.config Listing 3 – Web.config
Настройка разрешений на базу данных Configuring Database Permissions
Если вы используете Integrated Security для подключения к базе данных, то вам нужно будет добавить правильную учетную запись пользователя Windows в качестве входа в базу данных. If you use Integrated Security to connect to your database then you will need to add the correct Windows user account as a login to your database. Правильная учетная запись зависит от того, используете ли вы сервер ASP.NET развития или Интернет-информационные службы в качестве веб-сервера. The correct account depends on whether you are using the ASP.NET Development Server or Internet Information Services as your web server. Правильная учетная запись пользователя также зависит от вашей операционной системы. The correct user account also depends on your operating system.
Если вы используете ASP.NET Development Server (веб-сервер по умолчанию, используемый Visual Studio), то приложение выполняется в контексте вашей учетной записи пользователя Windows. If you are using the ASP.NET Development Server (the default web server used by Visual Studio) then your application executes within the context of your Windows user account. В этом случае необходимо добавить учетную запись пользователя Windows в качестве входа в систему данных сервера. In that case, you need to add your Windows user account as a database server login.
Кроме того, если вы используете Информационные службы Интернета, то вам нужно добавить либо учетную запись ASPNET или NT AUTHORITY/NETWORK SERVICE в качестве входа в систему данных сервера. Alternatively, if you are using Internet Information Services then you need to add either the ASPNET account or the NT AUTHORITY/NETWORK SERVICE account as a database server login. Если вы используете Windows XP, добавьте учетную запись ASPNET в качестве входа в базу данных. If you are using Windows XP then add the ASPNET account as a login to your database. Если вы используете более позднюю операционную систему, такую как Windows Vista или Windows Server 2008, добавьте учетную запись NT AUTHORITY/NETWORK SERVICE в качестве входа в базу данных. If you are using a more recent operating system, such as Windows Vista or Windows Server 2008, then add the NT AUTHORITY/NETWORK SERVICE account as the database login.
Вы можете добавить новую учетную запись пользователя в базу данных с помощью студии управления серверами Microsoft S’L (см. рисунок 9). You can add a new user account to your database by using Microsoft SQL Server Management Studio (see Figure 9).
Рисунок 9 — Создание нового входа в систему Microsoft S’L Server Figure 9 – Creating a new Microsoft SQL Server login
После создания необходимого входа необходимо сопоставить логин с пользователем базы данных с правильными ролями базы данных. After you create the required login, you need to map the login to a database user with the right database roles. Дважды щелкните логин и выберите вкладку «Карта пользователя». Double-click the login and select the User Mapping tab. Select one or more application services database roles. Например, для проверки подлинности пользователей необходимо включить_роль_базы данных aspnet Membership BasicAccess. For example, in order to authenticate users, you need to enable the aspnet_Membership_BasicAccess database role. Для создания новых пользователей необходимо включить роль_базы_данных aspnet Membership FullAccess (см. рисунок 10). In order to create new users, you need to enable the aspnet_Membership_FullAccess database role (see Figure 10).
Рисунок 10 — Добавление ролей в базе данных служб приложений Figure 10 – Adding Application Services database roles