用vs2015设计简单登录页面加验证码登录后跳转网页
时间: 2024-06-09 12:05:23 浏览: 13
下面是一个简单的示例,使用ASP.NET MVC和C#编写。
首先,创建一个MVC项目,并在HomeController中添加以下代码:
```c#
public ActionResult Login()
{
return View();
}
[HttpPost]
public ActionResult Login(string username, string password, string captcha)
{
if (Session["Captcha"].ToString() == captcha)
{
if (username == "admin" && password == "123456")
{
return Redirect("http://www.example.com");
}
else
{
ViewBag.Message = "用户名或密码错误!";
return View();
}
}
else
{
ViewBag.Message = "验证码错误!";
return View();
}
}
public ActionResult GetCaptcha()
{
string captcha = GenerateCaptcha();
Session["Captcha"] = captcha;
return File(GenerateCaptchaImage(captcha), "image/jpeg");
}
private string GenerateCaptcha()
{
Random random = new Random();
string letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
StringBuilder captcha = new StringBuilder();
for (int i = 0; i < 4; i++)
{
captcha.Append(letters[random.Next(letters.Length)]);
}
return captcha.ToString();
}
private byte[] GenerateCaptchaImage(string captcha)
{
Bitmap bitmap = new Bitmap(120, 40);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.Clear(Color.White);
Font font = new Font("Arial", 24);
Brush brush = new SolidBrush(Color.Black);
graphics.DrawString(captcha, font, brush, 10, 5);
MemoryStream memoryStream = new MemoryStream();
bitmap.Save(memoryStream, ImageFormat.Jpeg);
return memoryStream.ToArray();
}
```
在Login视图中添加以下代码:
```html
@using (Html.BeginForm())
{
<div>
<label for="username">用户名:</label>
<input type="text" name="username" id="username" />
</div>
<div>
<label for="password">密码:</label>
<input type="password" name="password" id="password" />
</div>
<div>
<label for="captcha">验证码:</label>
<input type="text" name="captcha" id="captcha" />
<img src="@Url.Action("GetCaptcha")" alt="验证码" />
</div>
<div>
<input type="submit" value="登录" />
</div>
}
<div>@ViewBag.Message</div>
```
这个示例中,我们在GetCaptcha方法中生成一个随机的验证码,并将其存储在Session中。在Login方法中,我们检查用户输入的验证码是否与Session中存储的验证码匹配。如果匹配,则检查用户名和密码是否正确。如果正确,则将用户重定向到http://www.example.com网站。如果不正确,则在视图中显示错误消息。
在视图中,我们使用Html.BeginForm方法创建一个表单,并使用Url.Action方法获取验证码图片的URL。当用户提交表单时,我们将用户名、密码和验证码作为参数传递给Login方法。
您可以根据自己的需要修改这个示例,并将其应用到您自己的项目中。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)