При создании приложения-службы WCF я реализовал UserNamePassValidator для пользовательской аутентификации, и это работает как ожидалось.WCF Single Authentication Несколько конечных точек
Но из-за большого количества функциональных возможностей службы я отделил ее от различных контрактов на обслуживание, таких как служба управления запасами, служба управления местоположением, служба управления задачами и т. Д., И затем я разоблачил их на разных конечных точек в одной службе.
Это, кажется, работает нормально, однако я бы предпочел аутентификацию с одной конечной точкой и сохранение этого состояния сеанса по всем конечным точкам. В настоящее время происходит то, что я аутентифицируюсь на один, я могу получить доступ к функциональности этого контракта на обслуживание, но если мне нужно подключиться к другой конечной точке, это потребует от меня повторной аутентификации.
Мое текущее решение для костылей - передать ClientCredentials между формами на стороне клиента для аутентификации, и хотя он использует защиту сообщений, поэтому они шифруются по проводу, это, очевидно, не идеальное решение.
Есть ли решение для первой части? И если нет, то в чем заключается наилучшая практика хранения введенных пользователем учетных данных в памяти (во время выполнения) на стороне клиента.