Объедините аутентификацию на основе форм в ASP.NET с прямой аутентификацией через параметры GET URL - PullRequest
1 голос
/ 05 октября 2011

Я новичок в ASP.NET и уже получил много ответов здесь в поиске в Google (THX!).Теперь моя задача - создать веб-сайт, где требуется аутентификация, поэтому я выбрал аутентификацию на основе форм, которая работает хорошо.Мне нужно добавить функциональность, когда пользователь может нажать на ссылку и после перенаправления на этот сайт он будет автоматически авторизован на основе параметров GET.

Например: http://www.mysite.com/login.aspx?username=xxx&password=yyy

Так что после нажатия напо такой ссылке он пропустит страницу входа и перейдет к странице позади.

Не могли бы вы помочь мне с этим вопросом?

PS Я знаю, что это не безопасно, и имя пользователя с паролем будетбыть видимым в виде открытого текста, но здесь мы говорим о сгенерированном имени пользователя и пароле, которые будут доступны только в течение одного дня, и требуется идентифицировать пользователя для выполнения одного запроса.

Ответы [ 2 ]

0 голосов
/ 05 октября 2011

Вы могли бы сделать что-то вроде.

Убедитесь, что имя пользователя и пароль указаны в querystring, а затем присвойте им переменные username и password.

с #

if (FormsAuthentication.Authenticate(username, password))
{
    FormsAuthentication.SetAuthCookie(username, true);
    FormsAuthentication.RedirectFromLoginPage(username, true);
}
else { // not authenticated. do something }

vb.net

If FormsAuthentication.Authenticate(username, password) Then
    FormsAuthentication.SetAuthCookie(username, true)
    FormsAuthentication.RedirectFromLoginPage(username, true)
Else
    ' not authenticated. do something.
End If

Чтобы это работало, вам необходимо импортировать / использовать System.Web.Security. Значение true указывает вашей аутентификации установить постоянное значение cookie.

0 голосов
/ 05 октября 2011

Если вы используете SQL Server в качестве database, самый простой способ - использовать ASP.NET membership провайдера.С его помощью вы сможете authenticate эффективно использовать пользователя.Здесь вы можете использовать Aspnet_regsql.exe для создания необходимых таблиц базы данных.Есть хорошее объяснение о создании веб-сайта с членством и логином

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

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