powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF Service и сквозная аутенфикация
7 сообщений из 7, страница 1 из 1
WCF Service и сквозная аутенфикация
    #37176439
DarikGalam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здраствуйте, форумчане, уже неделю ломаю голову как сделать на WCF сервисе с SilverLight клиентом сквозную аутенфикацию.
Web.config вроде настроил:
Код: plaintext
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.
<?xml version="1.0"?>
<configuration>
	<system.serviceModel>
		<services>
			<service name="Spec_osnastka.Web.Service1" behaviorConfiguration="myServiceBehavior">
				<endpoint address="" binding="basicHttpBinding" bindingConfiguration="MyBinding"
                                                             contract="Spec_osnastka.Web.IService1"/>
				<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
			</service>
		</services>
		<behaviors>
			<serviceBehaviors>
				<behavior name="myServiceBehavior">
					<serviceMetadata httpGetEnabled="True"/>
				</behavior>
			</serviceBehaviors>
		</behaviors>
		<bindings>
			<basicHttpBinding>
				<binding name="MyBinding">
					<security mode="TransportCredentialOnly">
						<transport clientCredentialType="Windows"/>
					</security>
				</binding>
			</basicHttpBinding>
		</bindings>
	</system.serviceModel>
	<system.webServer>
		<defaultDocument>
			<files>
				<remove value="Spec_osnastkaTestPage"/>
				<add value="Spec_osnastkaTestPage.aspx"/>
			</files>
		</defaultDocument>
	</system.webServer>
  <system.web>
    <authentication mode="Windows"/>
  </system.web>
</configuration>
Авторизацию методов тоже настроил:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
	
namespace Spec_osnastka.Web
{
        public class Service1 : IService1
	{
		//запросить данные из таблицы per_osnastki
                [OperationBehavior(Impersonation = ImpersonationOption.Required)]
		public ObservableCollection<PerOsnastkiClass> GetPerOsnastki()
		{
			ObservableCollection<PerOsnastkiClass> OC_Per_osnastki = new ObservableCollection<PerOsnastkiClass>();
			return OC_Per_osnastki;
		}
        }
        public class PerOsnastkiClass
	{
                public int id_per_osnastki { get; set; } 
                public string isd { get; set; }
                public string id_ceha { get; set; }
                public string id_ns { get; set; }
                public string osnov { get; set; }
                public string prim { get; set; }
                public string srok { get; set; }
	}
}
но публикуя на IIS он просит Анонимной аутенфикации. (Сервер поддерживает только Basik и Windows).
...
Рейтинг: 0 / 0
WCF Service и сквозная аутенфикация
    #37176633
hstas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarikGalam,

Вы забыли включить имперсонацию, она в ASP по умолчанию отключена

Код: plaintext
1.
2.
3.
4.
<configuration>
  <system.web>
    <identity impersonate="true" /> 
  </system.web>
 </configuration>
...
Рейтинг: 0 / 0
WCF Service и сквозная аутенфикация
    #37179956
DarikGalam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hstas,
Не помогает.
Содержание ошибки:

Ошибка сервера в приложении '/'.

Для параметров безопасности этой службы требуется проверка подлинности "Anonymous", но она не включена для приложения IIS, которое используется для размещения этой службы.

Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.

Сведения об исключении: System.NotSupportedException: Для параметров безопасности этой службы требуется проверка подлинности "Anonymous", но она не включена для приложения IIS, которое используется для размещения этой службы.

Ошибка источника:

Необработанное исключение при выполнении текущего веб-запроса. Информацию о происхождении и месте возникновения исключения можно получить, используя следующую трассировку стека исключений.

Трассировка стека:


[NotSupportedException: Для параметров безопасности этой службы требуется проверка подлинности "Anonymous", но она не включена для приложения IIS, которое используется для размещения этой службы.]
System.ServiceModel.Activation.HostedAspNetEnvironment.ValidateHttpSettings(String virtualPath, Boolean isMetadataListener, Boolean usingDefaultSpnList, AuthenticationSchemes& supportedSchemes, ExtendedProtectionPolicy& extendedProtectionPolicy, String& realm) +117392
System.ServiceModel.Channels.HttpChannelListener.ApplyHostedContext(String virtualPath, Boolean isMetadataListener) +67
System.ServiceModel.Activation.HostedAspNetEnvironment.ApplyHostedContext(TransportChannelListener listener, BindingContext context) +84
System.ServiceModel.Channels.HttpTransportBindingElement.BuildChannelListener(BindingContext context) +122
System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener() +63
System.ServiceModel.Channels.MessageEncodingBindingElement.InternalBuildChannelListener(BindingContext context) +67
System.ServiceModel.Channels.TextMessageEncodingBindingElement.BuildChannelListener(BindingContext context) +48
System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener() +63
System.ServiceModel.Channels.TransactionFlowBindingElement.BuildChannelListener(BindingContext context) +128
System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener() +63
System.ServiceModel.Channels.Binding.BuildChannelListener(Uri listenUriBaseAddress, String listenUriRelativeAddress, ListenUriMode listenUriMode, BindingParameterCollection parameters) +125
System.ServiceModel.Description.DispatcherBuilder.MaybeCreateListener(Boolean actuallyCreate, Type[] supportedChannels, Binding binding, BindingParameterCollection parameters, Uri listenUriBaseAddress, String listenUriRelativeAddress, ListenUriMode listenUriMode, ServiceThrottle throttle, IChannelListener& result, Boolean supportContextSession) +337
System.ServiceModel.Description.DispatcherBuilder.BuildChannelListener(StuffPerListenUriInfo stuff, ServiceHostBase serviceHost, Uri listenUri, ListenUriMode listenUriMode, Boolean supportContextSession, IChannelListener& result) +668
System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription description, ServiceHostBase serviceHost) +1228
System.ServiceModel.ServiceHostBase.InitializeRuntime() +60
System.ServiceModel.ServiceHostBase.OnBeginOpen() +27
System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) +50
System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +318
System.ServiceModel.Channels.CommunicationObject.Open() +36
System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +184
System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +615

[ServiceActivationException: Не удается активировать службу "/Service1.svc" из-за возникновения исключения в процессе компиляции. Сообщение об исключении: Для параметров безопасности этой службы требуется проверка подлинности "Anonymous", но она не включена для приложения IIS, которое используется для размещения этой службы..]
System.Runtime.AsyncResult.End(IAsyncResult result) +679246
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +190
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.ExecuteSynchronous(HttpApplication context, String routeServiceVirtualPath, Boolean flowContext, Boolean ensureWFService) +234
System.ServiceModel.Activation.HttpModule.ProcessRequest(Object sender, EventArgs e) +355
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +148
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

Информация о версии: Платформа Microsoft .NET Framework, версия:4.0.30319; ASP.NET, версия:4.0.30319.1
...
Рейтинг: 0 / 0
WCF Service и сквозная аутенфикация
    #37184251
hstas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarikGalam,

Там где отключили анонимный доступ, включили “Integrated Windows authentication”?
...
Рейтинг: 0 / 0
WCF Service и сквозная аутенфикация
    #37185025
DarikGalam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hstas,
IIS MANAGER на русском и включено Обычная проверка подлинности и проверка подлинности Windows.
...
Рейтинг: 0 / 0
WCF Service и сквозная аутенфикация
    #37185149
hstas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarikGalam,

по конфигу криминала не вижу. у меня точно такие же настройки.

а что у вас в секции <authorization>.

У меня вот так.
Код: plaintext
1.
2.
3.
4.
    <authorization>
      <deny users="?"/>
      <allow users="*"/>
    </authorization>

и покажите как вы обращаетесь к удаленному методу?
...
Рейтинг: 0 / 0
WCF Service и сквозная аутенфикация
    #37189189
DarikGalam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hstas,

часть кода Silveright клиента
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public MainPage()
{
	InitializeComponent();
	client.GetPerOsnastkiCompleted += new EventHandler<GetPerOsnastkiCompletedEventArgs>(client_GetPerOsnastkiCompleted);
	client.GetPerOsnastkiAsync();
}

void client_GetPerOsnastkiCompleted(object sender, GetPerOsnastkiCompletedEventArgs e)
{
         PCV_PerOsnastki = new ObservableCollection<PerOsnastkiClass>(e.Result);
         PagedCollectionView PCV_PO = new PagedCollectionView(PCV_PerOsnastki);
         DataGrid.ItemsSource = PCV_PO;
}
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF Service и сквозная аутенфикация
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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