1

新しい SQL Server (Windows 2012 Standard with SQL Server 2014, Enterprise Edition) にマスター データ サービスのインストールを実行しました。最初は、インストール中に非個人の AD アカウントを使用しました (DB と Web アプリケーションでも同じ) が、その後 に移動しようとするとlocalhost/mds、「無許可」のページになってしまいます。

MDS をアンインストールし、webapp とデータベースを削除し、自分の資格情報を使用して再インストールしました。サイコロはありません。

検索の結果、サーバーと MDS アプリケーションで Windows 認証が有効になっていることを確認する必要があることがわかりました。匿名認証も無効にしました。

サーバ:

サーバー認証

MDS アプリ:

MDS 認証

また、NTLM がサーバー レベルとアプリ レベルの両方で利用可能な最初のプロバイダーであることも確認しました。

プロバイダ

MDS アプリが実行されているパス (C:\Program Files\Microsoft SQL Server\120\Master Data Services\WebApplication) と、そのフォルダー内の config.web ファイルにもユーザー権限を割り当てました。

明らかに、IIS には Windows 認証がインストールされています。

ここに画像の説明を入力

私は何をすべきかを知っているという終わりに達しました。私は IIS の専門家ではありません。唯一のエラー情報は文字通り "Unauthorized" です。IIS ログもあまり役に立ちません。

2015-07-06 14:19:33 ::1 GET /MDS/ - 80 - ::1 Mozilla/5.0+(Windows+NT+6.3;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/43.0.2357.130+Safari/537.36 - 401 2 5 304
2015-07-06 14:19:33 ::1 GET /MDS/ - 80 <account_name> ::1 Mozilla/5.0+(Windows+NT+6.3;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/43.0.2357.130+Safari/537.36 - 302 0 0 927
2015-07-06 14:19:33 ::1 GET /MDS/Unauthorized.aspx - 80 <account_name> ::1 Mozilla/5.0+(Windows+NT+6.3;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/43.0.2357.130+Safari/537.36 - 200 0 0 10
2015-07-06 14:21:03 ::1 GET /MDS/ - 80 <account_name> ::1 Mozilla/5.0+(Windows+NT+6.3;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/43.0.2357.130+Safari/537.36 - 302 0 0 173
2015-07-06 14:21:03 ::1 GET /MDS/Unauthorized.aspx - 80 <account_name> ::1 Mozilla/5.0+(Windows+NT+6.3;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/43.0.2357.130+Safari/537.36 - 200 0 0 2

また、このリストのすべての役割と機能が構成され、インストールされていることも確認しました。

どうにかしてより多くの情報を手に入れる方法はありますか? 「アクセスが拒否されました」はあまり役に立ちませんし、IIS ログもあまり役に立ちません。

私は IIS の専門家ではありませんが、実際に問題が発生していると推測しています。どこを見ればよいかわかりません。

そして、情報をいただければ幸いです。

ありがとう!

4

1 に答える 1

1

結局のところ、MDS はどういうわけか私の AD ユーザー名の後に「$」を追加しました。そのため、 SchmitzITはどういうわけかSchmitzIT$になりました。

mdm.tbluserテーブルを掘り下げると、それが問題であることがわかりました。そこに含まれる SID は、sys.syslogins の SID とは異なります。

ユーザーが正しいことを確認する場合は、次のコード スニペットを使用します。

SELECT 'S-1-5-21-' 
+CAST(CAST(CAST(REVERSE(CONVERT(binary(4),'0x'+sys.fn_varbintohexsubstring(0,sid,13,4),1)) as varbinary(4)) as bigint) as varchar(10)) 
+'-'+CAST(CAST(CAST(REVERSE(CONVERT(binary(4),'0x'+sys.fn_varbintohexsubstring(0,sid,17,4),1)) as varbinary(4)) as bigint) as varchar(10)) 
+'-'+CAST(CAST(CAST(REVERSE(CONVERT(binary(4),'0x'+sys.fn_varbintohexsubstring(0,sid,21,4),1)) as varbinary(4)) as bigint) as varchar(10)) 
+'-'+CAST(CAST(CAST(REVERSE(CONVERT(binary(4),'0x'+sys.fn_varbintohexsubstring(0,sid,25,4),1)) as varbinary(4)) as bigint) as varchar(10)) 
, *
FROM sys.syslogins

次に、ユーザー アカウントの sys.syslogins から適切な値を取得し、mdm.tblUser テーブルを手動で変更して、適切な sid とユーザー名を反映させました。

于 2015-07-09T12:06:29.307 に答える