У нас есть 2 веб-сервера, которые теоретически идентичны, но дают разные результаты при проверке авторизации AzMan.
У нас один и тот же веб-сайт работает на обеих машинах (буквально тот же веб-сайт - он XCOPYed от одного к другому, и он работает под той же учетной записью службы).Все, что делает этот веб-сайт, выполняет проверку авторизации для базы данных AzMan (на отдельном сервере SQL).
Однако на рабочем веб-сайте (WebA) эта проверка возвращает 0
(т.е.пользователь авторизован "), а на сломанном веб-сайте (WebB) эта проверка возвращает 5
(т.е." пользователь НЕ авторизован ").Мы ожидаем 0
на обоих сайтах.Один и тот же пользователь получает доступ к обоим веб-сайтам с одного компьютера.
У кого-нибудь есть идеи относительно того, что мы можем проверить?
Сведения об окружении
- WindowsServer 2008 R2
- Тот же домен AD
- IIS 7.5
- .NET 3.5
- База данных AzMan работает на SQL Server 2005 / Windows Server 2008 R2.
Код
AzAuthorizationStoreClass authStore = new AzAuthorizationStoreClass();
// initialise the store
authStore.Initialize(0, "mssql://Driver={SQL Server};Server={OURDBSERVER};Trusted_Connection={Yes};/OURDATABASE/OURAPPLICATION", null);
// open the store
IAzApplication2 authApp = authStore.OpenApplication2("OURAPPLICATION", null);
// get the identity of the user NOT the service account
WindowsIdentity identity = Thread.CurrentPrincipal.Identity as WindowsIdentity;
// and from that derive the token
ulong userToken = (ulong)identity.Token.ToInt64();
// get the context based on the token
IAzClientContext3 clientContext =
(IAzClientContext3)authApp.InitializeClientContextFromToken(userToken, null);
// get the operation object based on the id
IAzOperation2 azManOperation = (IAzOperation2)authApp.OpenOperation(operationId, null);
// generate an audit identifier
string auditIdentifer =
string.Format("{0}{1} : O:{2}", "{the_correct_id}", identity.Name, operationId);
uint accessResult = clientContext.AccessCheck2(auditIdentifer, string.Empty, azManOperation.OperationID);
return accessResult.ToString();
Большое спасибо,
РБ.