c# - 没有内置功能的 ASP.NET 授权
问题描述
我目前正在一些网上商店工作,到目前为止还不错。唯一担心的是我不想使用内置的授权功能。我想做一些不同的事情,使用 Global.asax 文件。要在 Application_BeginRequest 中捕获 Request.RawUrl,因此在发送请求时检查特定文件夹是否被请求,如果未授权则重定向回登录。我不想使用内置的原因是因为数据库。我想要我自己的定制数据库,因为我做了很多事情,我想完全控制它。是的,我之前在这里看到过很多推荐的教程。我已经搜索了几天这些东西已经看到了很多关于如何自定义这些内置功能的教程。
也许我的问题看起来很复杂,但最后我会简单地问。拦截 Global.asax 文件中的每个请求是否安全?使用 Application_BeginRequest 或其他东西是个好主意吗?
谢谢大家。
解决方案
顺便说一句,这是我使用的一个简单代码
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpCookie cookie = Request.Cookies["es"];
if (Request.RawUrl.Contains(@"/admin"))
{
if (cookie ==null)
{
Response.Redirect("~/login.aspx");
}
else
{
if (cookie["role"] != "admin")
{
Request.Cookies.Remove("es");
Response.Redirect("~/login.aspx");
}
}
}
}
推荐阅读
- javascript - 做了react.js,Chrome扩展失去焦点,如何强制弹窗强制重新渲染
- hive - 如何在 Hive 中转换不同时区的时间戳
- html - 如何使用 excel 宏将多个网页保存为 pdf 文件或屏幕截图?
- javascript - 如果它是构造函数,如何调用 Object 上的方法?
- sql - 如何在 postgresql 中的 2 列上选择不同的值
- python - Python:为用户名创建“秘密 ID”
- word2vec - Word2Vec 是仅用于句子中的单词还是用于特征?
- javascript - 从随机选择的数组中删除重复项
- c# - Transient Polly 重试不适用于 HttpResponseMessage
- java - 如何在 Java 中将接口名称和变量名称作为字符串传递