Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 27.02.2017
Сообщений: 3
1

[Vk.Net] Сохранение авторизации

06.04.2017, 21:41. Показов 2309. Ответов 5

Author24 — интернет-сервис помощи студентам
У меня происходит авторизация следующим образом:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                string tel = textBox1.Text;
                string pass = textBox2.Text;
                VkNet.Enums.Filters.Settings scope = VkNet.Enums.Filters.Settings.All;
                vk.Authorize(new ApiAuthParams
                {
                    ApplicationId = здесь AppId,
                    Login = tel,
                    Password = pass,
                    Settings = scope,
                });
Так вот,нужно чтобы открывалась другая форма,а эта закрывалась(скрывалась) и повторной авторизации не требовалось.
Делаю следующим образом:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Form fr = new Form2();
 private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                string tel = textBox1.Text;
                string pass = textBox2.Text;
                VkNet.Enums.Filters.Settings scope = VkNet.Enums.Filters.Settings.All;
                vk.Authorize(new ApiAuthParams
                {
                    ApplicationId = здесь AppId,
                    Login = tel,
                    Password = pass,
                    Settings = scope,
                });
              fr.ShowDialog();
              this.Hide();
Но на Form2 всё-равно требуется авторизация для работы с VKNET.
Как быть?
Можно как-то передать AccessToken из одной формы в другую?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2017, 21:41
Ответы с готовыми решениями:

Удаленный SQL-сервер Ado.Net + .Net remoting + Asp .Net
Всем привет! Нужно написать клиент-серверное приложение на основе Microsoft Sql Server 2005...

Системы авторизации ASP.NET и не только
Всем привет! Может есть историческая карта всех систем авторизации Mvc3,4,5, WebForms и тд А то...

Аутентификация Form ASP.NET. Сохранение User на сервере
Добрый день! Сделал Form аутентификацию ASP.NET-приложения во внутренней сети. Когда ввел...

Оптимизация производительности C#.NET (Алгоритм, Многопоточность, Debug, Release, .Net Core, Net Native)
Решил поделится своим небольшим опытом по оптимизации вычислений на C#.NET. НЕ профи, палками не...

5
157 / 156 / 104
Регистрация: 01.10.2015
Сообщений: 310
07.04.2017, 09:27 2
kretalovegor, пожалуйста, посмотрите эту тему, пункт 2: Ответы на 7 самых частых вопросов по WinForms
1
0 / 0 / 0
Регистрация: 27.02.2017
Сообщений: 3
09.04.2017, 15:58  [ТС] 3
Цитата Сообщение от BroDMax Посмотреть сообщение
kretalovegor, пожалуйста, посмотрите эту тему, пункт 2: Ответы на 7 самых частых вопросов по WinForms
Спасибо,конечно,но это не помогло.Всё-равно требуется авторизация на второй форме.
0
157 / 156 / 104
Регистрация: 01.10.2015
Сообщений: 310
10.04.2017, 09:33 4
kretalovegor, покажите код Вашей попытки передачи данных с одной формы на другую согласно пункту 2 той темы.
0
Эксперт .NET
5531 / 4296 / 1216
Регистрация: 12.10.2013
Сообщений: 12,330
Записей в блоге: 2
10.04.2017, 18:53 5
Лучший ответ Сообщение было отмечено kretalovegor как решение

Решение

Цитата Сообщение от kretalovegor Посмотреть сообщение
это не помогло
kretalovegor, создайте класс-синглет, в нем свойство типа VkApi, авторизуйтесь и используйте это свойство из синглета хоть в сотне формах.
Пример ниже.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VkNet;
using VkNet.Enums.Filters;
using VkNet.Exception;
 
 
namespace ConsoleApplication5 {
    class Program {
        static void Main(string[] args) {
            Singlet.Api = new VkApi();
            try {
                Singlet.Api.Authorize(12345, "---@mail.ru", "-----", Settings.Friends);
                Console.WriteLine("Autorization completed!");
            }
            catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
            Console.ReadLine();
        }
    }
    public class Singlet {
        public static VkApi Api { get; set; }
 
        private static Singlet instance;
        public static Singlet Instance {
            get {
                if (instance == null) {
                    instance = new Singlet();
                }
                return instance;
            }
        }
        private Singlet() {
        }
    }
}
1
0 / 0 / 0
Регистрация: 27.02.2017
Сообщений: 3
10.04.2017, 23:24  [ТС] 6
Цитата Сообщение от insite2012 Посмотреть сообщение
kretalovegor, создайте класс-синглет, в нем свойство типа VkApi, авторизуйтесь и используйте это свойство из синглета хоть в сотне формах.
Пример ниже.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VkNet;
using VkNet.Enums.Filters;
using VkNet.Exception;
 
 
namespace ConsoleApplication5 {
    class Program {
        static void Main(string[] args) {
            Singlet.Api = new VkApi();
            try {
                Singlet.Api.Authorize(12345, "---@mail.ru", "-----", Settings.Friends);
                Console.WriteLine("Autorization completed!");
            }
            catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
            Console.ReadLine();
        }
    }
    public class Singlet {
        public static VkApi Api { get; set; }
 
        private static Singlet instance;
        public static Singlet Instance {
            get {
                if (instance == null) {
                    instance = new Singlet();
                }
                return instance;
            }
        }
        private Singlet() {
        }
    }
}
Огромное спасибо!
0
10.04.2017, 23:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.04.2017, 23:24
Помогаю со студенческими работами здесь

Объясните на пальцах совместимость библиотек в .Net Core, .Net Framework, .Net Standart
Изучаю .Net. Хочу написать некое серверное приложение (думаю что учеба лучше на реальном примере,...

Сохранение WCF сессии при авторизации
У меня авторизация состоит из такого алгоритма : Клиент передаёт серверу логин и пароль,сервер...

Сохранение авторизации пользователя
есть интернет магазин регистрация и авторизация есть но вот после авторизации хотел сделать чтоб...

Сохранение авторизации на субдоменах
Добрый время суток! Есть сайт с модулем hosts, организующий субдомены (каждый субдомен - город)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru