Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF Service и сквозная аутенфикация / 7 сообщений из 7, страница 1 из 1
22.03.2011, 01:43
    #37176439
DarikGalam
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF Service и сквозная аутенфикация
Здраствуйте, форумчане, уже неделю ломаю голову как сделать на 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
22.03.2011, 09:51
    #37176633
hstas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF Service и сквозная аутенфикация
DarikGalam,

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

Код: plaintext
1.
2.
3.
4.
<configuration>
  <system.web>
    <identity impersonate="true" /> 
  </system.web>
 </configuration>
...
Рейтинг: 0 / 0
23.03.2011, 20:11
    #37179956
DarikGalam
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF Service и сквозная аутенфикация
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
27.03.2011, 08:20
    #37184251
hstas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF Service и сквозная аутенфикация
DarikGalam,

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

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

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

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

и покажите как вы обращаетесь к удаленному методу?
...
Рейтинг: 0 / 0
30.03.2011, 00:19
    #37189189
DarikGalam
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF Service и сквозная аутенфикация
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
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF Service и сквозная аутенфикация / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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