powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Перенаправлять не авторизированных пользователей на другую страницу Silverlight
13 сообщений из 13, страница 1 из 1
Перенаправлять не авторизированных пользователей на другую страницу Silverlight
    #37817719
Фотография yardie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Я написал портал на 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
Перенаправлять не авторизированных пользователей на другую страницу Silverlight
    #37817767
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yardie,

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

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

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

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

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

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

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

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

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

ты не понял.

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

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

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

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

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

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


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