Добрый день, Подскажите как можно реализовать автологин в bmponline?
Требуется реализовать переход с внешнего ресурса с заданными логином/паролем, например, через post запрос или используя odata, или js.
Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу.
Андрей, а можно подробнее про то как сделать запрос http://<имя_сервера>/<имя_приложения_BPMonline>/ServiceModel/AuthService.svc/Login у меня при попытки запроса возвращается 404 Not Found
Uri authServiceUri =new Uri("http://<имя_сервера>/<имя_приложения_BPMonline>/ServiceModel/AuthService.svc/Login");// URI сервиса аутентификации
string userName ="userName";// Логин пользователя
string userPassword ="userPassword";// Пароль пользователя
string solutionName ="solutionName";// Название конфигурации// Формирование строки с аутентификационными данными.
string authString = @"{
""Language"":""Ru-ru"",
""UserName"":"""+ userName + @""",
""UserPassword"":"""+ userPassword + @""",
""SolutionName"":"""+ solutionName + @""",
""TimeZoneOffset"":-120
}";
byte[] authData = UTF8Encoding.UTF8.GetBytes(authString);// Переменная, в которую будут помещены возвращенные сервером cookie в случае успешной аутентификации.
var cookieContainer =new System.Net.CookieContainer();// Формирование запроса к сервису аутентификации.
System.Net.HttpWebRequest request = System.Net.HttpWebRequest.Create(authServiceUri) as System.Net.HttpWebRequest;
request.Method="POST";
request.CookieContainer= cookieContainer;
request.ContentType="application/json";using(var stream = request.GetRequestStream()){
stream.Write(authData, 0, authData.Length);}// Получение ответа от сервера. Если аутентификация прошла успешно, сервер возвратит аутентификационные // cookie, которые сохраняются в объекте. В дальнейшем эти cookie будут добавляться в запросы к веб-сервису // без повторной аутентификации.using(var response = request.GetResponse()){if(cookieContainer.Count>0){// Ваш код, здесь можем использовать объект cookieContainer;}}
Спасибо за помощь, разобрался с ServiceModel/AuthService.svc/Login, решил иначе, отправил cURL запрос с json данными сохранил полученные куки и использовал их для сессии