Мы пытаемся использовать аутентификацию между двумя приложениями на наших компьютерах (Windows 7, IIS 7.5), и eveything идет хорошо. Но проблема в том, что когда мы пытаемся опубликовать эти сайты (веб-сервер Windows 2008, IIS 7.0), перекрестная аутентификация не работает!Аутентификация подлинности в нескольких приложениях
После долгого invistigation мы обнаружили, что произошла ошибка в следующем коде, который находится на втором месте:
Dim formsCookie As HttpCookie = Request.Cookies(FormsAuthentication.FormsCookieName)
If (formsCookie IsNot Nothing) Then
Else
' always null
Мы попытались проверить тракты, как это в коде позади:
Dim ticket As New FormsAuthenticationTicket(1, smsProfile, DateTime.Now, _
DateTime.Now.AddDays(1), True, AdminSessions.UserObj.Pid, _
FormsAuthentication.FormsCookiePath)
Dim hash As String = FormsAuthentication.Encrypt(ticket)
Dim cookie As New HttpCookie(
FormsAuthentication.FormsCookieName,
hash)
If (ticket.IsPersistent) Then
cookie.Expires = ticket.Expiration
End If
Response.Cookies.Add(cookie)
Response.Redirect(smsPortal)
в web.config:
<authentication mode="Forms">
<forms name=".ASPXFORMSAUTH" enableCrossAppRedirects="true" domain="mydomain.com.jo" loginUrl="http://..." protection="All" path="/"/>
</authentication>
Просьба сообщить нам, в чем разница между IIS в локальный ПК и сервер.
Спасибо.
они оба опубликованы в том же домене? –
Да в том же домене, каждый из них находится в поддомене separete. ex: sub1.mydomain.com.jo, sub2.mydomain.com.jo – Ibsuser
Есть ли какая-то особенная конфигурация для этого? – Ibsuser