2009-04-11 18 views
5

Forms ben vardır:Yapılandırma WCF benim hizmet için uygulamada Authentication

benim .config dosyasında
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

Ben:

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

ve:

 
    <system.web.extensions> 
    <scripting> 
     <webServices> 
     <authenticationService enabled="true" requireSSL = "false"/> 
     </webServices> 
    </scripting> 
    </system.web.extensions> 

ve:

<authentication mode="Forms" />
Benim hizmet için "Giriş" yönteminde

, ben:

Ancak
FormsAuthentication.SetAuthCookie(request.UserName, false);

, ben kontrol ederken:

HttpContext.Current.User.Identity.Name

Boş bir dizedir. Neyi kaçırıyorum? Kullanıcının bir oturum açma formu doldurmasını istediğinizde form kimlik doğrulaması kullanılır.

cevap

1

Bir hizmet için farklı bir kimlik doğrulama mekanizması kullanmak daha iyi olurdu.

0

Sonraki bir istekte Identity.Name öğesini kontrol ettiğinizi mi sanıyorum?

Web.config öğenizde bir öğeniz var mı?

Ayrıca, çerezi Giriş yanıtından alıp sonraki istekler üzerine yeniden gönderdiğinizden emin misiniz?

1

Bunun yerine ServiceContext.User.Identity kullanmayı deneyin.