こんにちは、ASP.NET 2.0 WebサイトのドメインでWindows NT認証を使用したいと思います。ASP.NET Webサイト2.0のドメインでのNT認証
初めて自分のWebサイトにアクセスしたときに、ユーザーの入力資格情報を強制します。 Webサイトはイントラネット上でのみ使用されます。
私はドメインがx.y.comの形式であることを知っています。
私は要素をweb.confingに追加:
- しかし、ユーザーがウェブを訪れたとき、私はどのようにclasic窓に入力されたユーザーの資格情報について formularを表示しない:
<authentication mode="Windows"/>
私の最初の問題は、サイト。
私はこのフォーム意味:
http://blumenthalit.net/blog/Lists/Posts/Attachments/54/image_2.png
2そして、私の第二の問題は、ドメイン上の真偽です。私はそれをgoogleし、このパートコードだけが私のために働く。
public class WinAPI
{
// Use NTLM security provider to check
public const int LOGON32_PROVIDER_DEFAULT = 0x0;
// To validate the account
public const int LOGON32_LOGON_NETWORK = 0x3;
// API declaration for validating user credentials
[DllImport("advapi32.dll", SetLastError = true)]
public static extern bool LogonUser(string lpszUsername, string lpszDomain,
string lpszPassword, int dwLogonType, int dwLogonProvider, out int phToken);
//API to close the credential token
[DllImport("kernel32", EntryPoint = "CloseHandle")]
public static extern long CloseHandle(long hObject);
};
int hToken = 2;
bool ret = WinAPI.LogonUser("userName", "domain.example.com", "password", WinAPI.LOGON32_LOGON_NETWORK,
WinAPI.LOGON32_PROVIDER_DEFAULT,
out hToken);
if (ret == true)
{
MessageBox.Show(" Valid Windows domain User ");
WinAPI.CloseHandle(hToken);
}
else
{
MessageBox.Show(" Not an valid Windows domain User ");
}