Я пытаюсь запустить простой валидатор паролей.Я уже написал это в JSP, и это работает.Я новичок в C # и ASP.NET, и хочу практиковаться / учиться, написав это на C #.Как новичок, я столкнулся с некоторыми проблемами и надеялся на некоторую помощь.
То, что я изначально работал хорошо.Это обходной путь, который является плохой практикой, но хорош для изучения Java и JSP.Это просто использование POP-сервера в качестве обходного пути для аутентификации пользователя - глупо, но полезно учиться!
На данный момент у меня есть этот класс, который, как я считаю, должен работать, хранится в файле .aspx, которыймоя форма используется как «действие».
class POPServer
{
static Boolean hasLogin(string username, string password)
{
const bool isValid;
using (var client = new TcpClient("host.hosty.com", 110))
using (var stream = client.GetStream())
using (var reader = new StreamReader(stream))
using (var writer = new StreamWriter(stream))
{
writer.WriteLine("USER " + username );
writer.WriteLine("PASS " + password );
const string response = reader.ReadLine();
isValid = response[ 0 ] == '+';
writer.WriteLine("quit\n");
}
return isValid;
}
}
Поэтому я подключаюсь к хосту, хранящему имя пользователя и пароль, и проверяю по этой форме:
<form action="POPServer.aspx" method="post">
<fieldset>
<legend>Login Form</legend>
<label for="teachername">Username:
<input type="text" name="teachername" id="teachername" value="" />
</label>
<label for="teacherpass">Password:
<input type="password" name="teacherpass" id="teacherpass" value="" />
</label>
<label for="teacherremember">
<input class="checkbox" type="checkbox" name="teacherremember" id="teacherremember" checked="checked" />
Remember me</label>
<p>
<input type="submit" name="teacherlogin" id="teacherlogin" value="Login" />
<input type="reset" name="teacherreset" id="teacherreset" value="Reset" />
</p>
</fieldset>
</form>
Что мне интересно, так это:
Правильна ли «форма» моего кода - правильно ли хранить мой C # в файле ASPX и запускать его по мере необходимости, когда пользователь пытается войти в систему?Я не могу найти никакой информации об этом, и я предполагаю, что мне нужна структура, такая как JSP, где вы будете запускать:
if ( request.hasParameter( "Submit" ) )
{
if ( POPServer.hasLogin( request.getParameter( "username" ), request.getParameter( "username" ) ) ) {
response.location( "loginPage.aspx" );
}
}
Как вы сохраняете данные сеанса, чтобы после аутентификации пользователя «страница входа»"отображается, и пользователь постоянно входит в систему, а не просто приводится по ссылке, а затем забывается?