asp.net MVC 使用wifidog 协议实现wifi认证
在网上看到的很多实现的wifidog 协议一般都是PHP 的,了解一下PHP 但是比较喜欢.net ,所以实现了简单的一个进行登录认证的功能
(好多协议中的功能目前没有实现)
1. 开发环境(vs2010 )
2. 路由(支持wifidog协议的 ddwrt )
3. 环境的配置
主要是进行路由的配置
截图如下:
注意红圈的部分这个我按照php 的配置
asp.net MVC 的配置如下:
端口 9999 authserver path /login/
4. MVC 项目布局:
loginController.cs 代码如下:
public class loginController : Controller
{
//
// GET: /login/
public ActionResult login()
{
string demo = Request.QueryString.ToString();
ViewData["demo"]=demo;
ViewData["gw_address"] = Request.QueryString["gw_address"];
ViewData["gw_port"] = Request.QueryString["gw_port"];
ViewData["gw_id"] = Request.QueryString["gw_id"];
//ViewData["url"]=Request.QueryString["url"];
string url = Request.QueryString["url"];
// string url = "www.cnblogs.com";
ViewData["url"] = url;
Response.Write("Auth:1");
return View();
}
public ActionResult index()
{
return View();
}
public ActionResult auth()
{
// result data = new result();
Response.Write("Auth:1");
return View();
}
public ActionResult MyLogin()
{
return View();
}
}
代码写的比较乱,但是还是比较简单的。
login view 的代码如下:
<%
Label1.Text = ViewData["demo"].ToString() + "<br/>" ;
if (ViewData["url"] == null)
{
}
else
{
string a = ViewData["gw_address"].ToString();
string p = ViewData["gw_port"].ToString();
string token = Guid.NewGuid().ToString();
string url=ViewData["url"].ToString();
string demo = "http://" + a + ":" + p + "/wifidog/auth?token=" + token + "url=" + url;
ViewData["authurl"] = demo;
Application["authurl"] = demo;
}
%>
dalong demo app
</h2>
<p>
<h1>
登陆页面
</h1>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</p>
[ <%: Html.ActionLink("进入", "MyLogin", "login")%> ]
Mylogin view 的代码如下:
<%
string tepdemo = "Auth: 1";
byte[] data = System.Text.Encoding.Default.GetBytes(tepdemo);
char[] list = System.Text.Encoding.Default.GetChars(data);
Response.Write(list, 0, list.Length);
Response.Redirect(Application["authurl"].ToString());
%>
5. 手机端的测试效果:
window phone 连接wifi 的显示界面
点击进入如下效果:
连接成功标志:
打开网页:
其中对于认证最重要的是按照协议返回的数据:
比如我通过返回的数据:
Auth: 1
拒绝为: Auth: 0
以上只是简单的测试,实际应用需要很多的东西。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)