Привет, я хотел бы использовать аутентификацию Window NT на домене на веб-сайте ASP.NET 2.0.
Я хотел бы принудительно ввести учетные данные пользователя при первом посещении моего веб-сайта. Веб-сайт будет использоваться только в интрасети.
Я знаю, что домен находится в формате x.y.com.
Я добавляю в элемент web.confing:
<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 ");
}