Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Перенаправлять не авторизированных пользователей на другую страницу Silverlight / 13 сообщений из 13, страница 1 из 1
30.05.2012, 12:09
    #37817719
yardie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенаправлять не авторизированных пользователей на другую страницу Silverlight
Здравствуйте. Я написал портал на Silverlight 5, сделал регистрацию, авторизацию и аутентификацию пользователей. Чтобы закрыть страницы для не аутентифицированных пользователей на странице я сделал вот такую проверку

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
MainServiceClient proxy = new MainServiceClient();
        public Help()
        {
            InitializeComponent();

            proxy.AuthenticateCompleted += new EventHandler<AuthenticateCompletedEventArgs>(proxy_AuthenticateCompleted);
            proxy.AuthenticateAsync(ValidUserRole.UserName, ValidUserRole.UserPass);
        }
		void proxy_AuthenticateCompleted(object sender, AuthenticateCompletedEventArgs e)
		{
		    if (!e.Result)
		    {
		            NavigationService.Navigate(new Uri("/Pages/Registration/PreRegistration.xaml", UriKind.Relative));
			    NavigationService.Navigate(new Uri("/Pages/Registration/PreRegistration.xaml", UriKind.Relative));
		    }
		}


использую я обычный WCF web service.
У меня возникли такие проблеммы
1- Если не аутентифицированный пользователь пытается зайти на закрытую страницу то его перекидывает на страницу регистрации, но со второго раза он попадёт на закрытую страницу по этому пришлось сделать вот так
Код: c#
1.
2.
3.
4.
5.
 if (!e.Result)
		    {
		            NavigationService.Navigate(new Uri("/Pages/Registration/PreRegistration.xaml", UriKind.Relative));
			    NavigationService.Navigate(new Uri("/Pages/Registration/PreRegistration.xaml", UriKind.Relative));
		    }


это решило мою проблему, но появилась другая, страница грузится по два раза

подскажите как правильно организовать защиту закрытых страниц в Silverlight приложении?
...
Рейтинг: 0 / 0
30.05.2012, 12:29
    #37817767
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенаправлять не авторизированных пользователей на другую страницу Silverlight
yardie,

ты уверен, что тебе нужен NavigationService?
ведь этот простые usercontrol , которые свои события (некоторые) передают в браузер. То есть рассчитано на людей, которые будут использовать кнопку назад, вперед,обновить у браузера.
...
Рейтинг: 0 / 0
30.05.2012, 13:01
    #37817833
yardie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенаправлять не авторизированных пользователей на другую страницу Silverlight
А что лучше использовать за место NavigationService?
посоветуйте пожалуйста.
...
Рейтинг: 0 / 0
30.05.2012, 13:09
    #37817851
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенаправлять не авторизированных пользователей на другую страницу Silverlight
yardie,

возьми например canvas и в него пуляй свои usercontrol(странички xaml)
...
Рейтинг: 0 / 0
30.05.2012, 14:17
    #37818001
yardie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенаправлять не авторизированных пользователей на другую страницу Silverlight
AlexeiK,
Не пойму, а каким образом можно делать переход с canvas?
Дайте пример если можно?
...
Рейтинг: 0 / 0
30.05.2012, 14:44
    #37818060
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенаправлять не авторизированных пользователей на другую страницу Silverlight
yardie,

ну canvas.childrens.add(usercontrol)
это добавит на канву твой xaml
чтобы убрать remove метод.
...
Рейтинг: 0 / 0
30.05.2012, 16:23
    #37818260
yardie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенаправлять не авторизированных пользователей на другую страницу Silverlight
через canvas работать не получится, так как загрузка страниц происходит через NavigationFramework, через промежуточную страницы играющую роль фрейма.
Каким образом можно исправить работу NavigationService или использовать другие вещи для редиректа?
...
Рейтинг: 0 / 0
30.05.2012, 16:45
    #37818321
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенаправлять не авторизированных пользователей на другую страницу Silverlight
yardie,

не понимаю твоих недопониманий :)

сделай в этом же канвасе фрейм из стандартных элементов sl или помести туда usercontrol который будет как фрейм.
а потом в этот фрем загрузи свою страницу.

кстати, чтобы это провернуть быстро, то просто в своих классах page измени слово page на usercontrol и все :) ничего не съедет при этом.
этот navigation framework такой фреймворк :) что слов нету :)
собственно он тоже самое и делает,что предлагаю я, только + интеграция с браузером.
...
Рейтинг: 0 / 0
30.05.2012, 20:57
    #37818646
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенаправлять не авторизированных пользователей на другую страницу Silverlight
Если пользатель незарегистрирован должны сразу закрываться все страницы.
...
Рейтинг: 0 / 0
31.05.2012, 15:13
    #37819775
уТКа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенаправлять не авторизированных пользователей на другую страницу Silverlight
SeVa, AlexeiK
читаю и ржу от вас.

Какой еще Canvas и "Закрывать все страницы" ?

Автор:
зачем грузить два раза страницу?
просто реализуй статическое свойство где-то в своей программе и обзови его IsUserAuth, на загружаемых страницах проверяй этот параметр, если пользователь не авторизован то грузить такую страницу, иначе продолжаем, как пользователь авторизовался выставляй свойству IsUserAuth положительное значение.

делов-то на пять минут, а думать никто не хочет.
...
Рейтинг: 0 / 0
31.05.2012, 18:13
    #37820254
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенаправлять не авторизированных пользователей на другую страницу Silverlight
уТКа,

ты не понял.

авто взял кувалду, чтобы забить мебельный гвоздик.
вот о чем я толкую ему.
...
Рейтинг: 0 / 0
31.05.2012, 20:48
    #37820417
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенаправлять не авторизированных пользователей на другую страницу Silverlight
уТКаSeVa, AlexeiK
читаю и ржу от вас.

Какой еще Canvas и "Закрывать все страницы" ?

Автор:
зачем грузить два раза страницу?
просто реализуй статическое свойство где-то в своей программе и обзови его IsUserAuth, на загружаемых страницах проверяй этот параметр, если пользователь не авторизован то грузить такую страницу, иначе продолжаем, как пользователь авторизовался выставляй свойству IsUserAuth положительное значение.

делов-то на пять минут, а думать никто не хочет.

Ржал десять минут. Проверять каждый раз вместо одного. Думать иногда полезно
...
Рейтинг: 0 / 0
01.06.2012, 17:18
    #37821905
уТКа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенаправлять не авторизированных пользователей на другую страницу Silverlight
SeVa,

сходи перекури троль.
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Перенаправлять не авторизированных пользователей на другую страницу Silverlight / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]