У меня есть веб-приложение на C # ASP.NET 3.5, которое использует аутентификацию форм. Пользователи входят в систему со своим именем пользователя и паролем на login.aspx, проходят аутентификацию с использованием пользовательской логики аутентификации и затем направляются в input.aspx, где они вводят некоторые параметры и получают ответ на output.aspx. Если они пытаются получить доступ к input.aspx без аутентификации, они перенаправляются на login.aspx.
Те же пользователи хотят иметь возможность использовать функциональные возможности этого веб-приложения без использования пользовательского интерфейса из среды Unix. Поэтому я добавил файл веб-службы (.asmx) в это веб-приложение. Я не создал отдельный проект для этого веб-сервиса, потому что веб-сервис использует файлы кода, код в global.asax существующего веб-приложения, и я не должен дублировать этот код для веб-сервиса.
Функциональность веб-службы теперь работает нормально, хотя я не знаю, как аутентифицировать пользователей. Клиент веб-службы отправит имя пользователя и пароль один раз (возможно, используя веб-метод входа в систему, который я могу написать, чтобы подтвердить их подлинность), а затем сможет отправлять несколько запросов (возможно, до тех пор, пока они не вызовут веб-метод выхода из системы или до своей сессии). / cookie истекает).
Чтобы веб-запросы не перенаправлялись на страницу login.aspx, я исключил файл .asmx из проверки подлинности с помощью форм с помощью тега location в web.config. (Я не знаю, так ли это.) Но тогда я думаю, что пользователь не проходит аутентификацию в веб-приложении, и поэтому код веб-приложения, используемый службой, не будет доступен, верно?