asp.net获取当前页面文件名,参数,域名等方法。统一session验证和权限验证的方法
转:http://blog.csdn.net/llll29550242/article/details/6054323
ASP.net后台获取当前页面的文件名
System.IO.Path.GetFileName(Request.Path).ToString();
获取当前页面文件名,参数,域名等方法
假设当前页完整地址是:http://www.test.com/aaa/bbb.aspx?id=5&name=kelli
"http://"是协议名
"www.test.com"是域名
"aaa"是虚拟目录名
"bbb.aspx"是页面名(文件名)
"id=5&name=kelli"是参数
【1】获取 完整url (协议名+域名+虚拟目录名+文件名+参数)
string url=Request.Url.ToString();
url= http://www.test.com/aaa/bbb.aspx?id=5&name=kelli
【2】获取 虚拟目录名+页面名+参数:
string url=Request.RawUrl;
(或 string url=Request.Url.PathAndQuery;)
url= /aaa/bbb.aspx?id=5&name=kelli
【3】获取 虚拟目录名+页面名:
string url=HttpContext.Current.Request.Url.AbsolutePath;
(或 string url= HttpContext.Current.Request.Path;)
url= /aaa/bbb.aspx
【4】获取 域名:
string url=HttpContext.Current.Request.Url.Host;
url= www.test.com
【5】获取 参数:
string url= HttpContext.Current.Request.Url.Query;
url= ?id=5&name=kelli
Request.QueryString["id"]和Request.QueryString["name"]访问各参数
Request.UrlReferrer可以获取客户端上次请求的url的有关信息, 这样我们就可以通过这个属性返回到“上一页”。
同样地,Request.UrlReferrer.Query可以获取客户端上次请求的url的有关参数部分。
统一验证:
最近发现了一个比较好的统一验证的方法,在这里写出来,我是通过了测试的,不过还不是十分的清楚有没有不恰当的地方,还望有高手指点一二。
在appcode文件夹下面新建一个类文件,继承page类,在文件中添加page.load的事件,然后在需要进行验证的文件.cs也继承这个类。举例说明
新建一个BasePage_mana.cs的类文件:
- using System.Collections;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
- using WebUtil;
- using SysModel;
- using SysDal;
- /// <summary>
- ///让所有后台管理页都继承这个类,在这里进行session验证和权限验证等操作。
- /// </summary>
- public class BasePage_mana : System.Web.UI.Page
- {
- public BasePage_mana()
- {
- this.Load += new EventHandler(thisLoad);
- //
- //TODO: 验证程序 有待完善(todo:是未完成工作的提示)
- //
- }
- void thisLoad(object sender, EventArgs e)
- {
- #warning 验证程序 有待完善(warning是警告的设置)
- if (System.String.IsNullOrEmpty(Session["BN_JobNum"] as string))
- {
- Response.Write("<mce:script language='javascript'><!--
- alert('请重新登陆!');parent.location.href='../login_test.aspx';
- // --></mce:script>");
- Response.End();
- }
- PurviewDAL Pdal = new PurviewDAL();
- string pageName = System.IO.Path.GetFileName(Request.Path).ToString();//我这里做了一个权限判断的类,我把文件名当做权限名,这样就可以做到统一判断了
- if (Pdal.PowerControl(Session["BN_JobNum"].ToString(), pageName) == false)
- {
- Response.Write("<mce:script language=javascript><!--
- alert('您没有权限!');history.go(-1);
- // --></mce:script>");
- Response.End();
- }
- }
- }
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WebUtil;
using SysModel;
using SysDal;
/// <summary>
///让所有后台管理页都继承这个类,在这里进行session验证和权限验证等操作。
/// </summary>
public class BasePage_mana : System.Web.UI.Page
{
public BasePage_mana()
{
this.Load += new EventHandler(thisLoad);
//
//TODO: 验证程序 有待完善(todo:是未完成工作的提示)
//
}
void thisLoad(object sender, EventArgs e)
{
#warning 验证程序 有待完善(warning是警告的设置)
if (System.String.IsNullOrEmpty(Session["BN_JobNum"] as string))
{
Response.Write("<mce:script language='javascript'><!--
alert('请重新登陆!');parent.location.href='../login_test.aspx';
// --></mce:script>");
Response.End();
}
PurviewDAL Pdal = new PurviewDAL();
string pageName = System.IO.Path.GetFileName(Request.Path).ToString();//我这里做了一个权限判断的类,我把文件名当做权限名,这样就可以做到统一判断了
if (Pdal.PowerControl(Session["BN_JobNum"].ToString(), pageName) == false)
{
Response.Write("<mce:script language=javascript><!--
alert('您没有权限!');history.go(-1);
// --></mce:script>");
Response.End();
}
}
}
然后在文件test.aspx中继承这个类
- using System;
- using System.Data;
- using System.Configuration;
- using System.Collections;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
- using System.Collections.Generic;
- using OnlineUser;
- using SysModel;
- using SysDal;
- using WebUtil;
- public partial class test : BasePage_do//继承创建的那个类
- {
- protected void Page_Load(object sender, EventArgs e)
- {}
- }
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using OnlineUser;
using SysModel;
using SysDal;
using WebUtil;
public partial class test : BasePage_do//继承创建的那个类
{
protected void Page_Load(object sender, EventArgs e)
{}
}
asp.net获取当前页面文件名,参数,域名等方法。统一session验证和权限验证的方法的更多相关文章
- ASP.net获取当前页面的文件名,参数,域名等方法
ASP.net后台获取当前页面的文件名 System.IO.Path.GetFileName(Request.Path).ToString(); 获取当前页面文件名,参数,域名等方法 假设当前页完整地 ...
- ASP获取当前页面带参数的网址(URL地址)的方法
'获取当前Url参数的函数 Function GetUrl() Dim ScriptAddress,Servername,qs ScriptAddress = CStr(Request.ServerV ...
- php怎样获取当前页面文件名
因开发需要,常需要获取当前php文件的文件名.php获取当前文件名方法很简单,程序代码如下: <?php function php_self(){ $php_self=substr($_SERV ...
- iframe父页面获取子页面的参数
1.父页面中的iframe <iframe name="parentPage"></iframe> 2.子页面中元素的属性 <input type=& ...
- asp.net获取当前网址url的各种属性(文件名、参数、域名 等)的代码
用 asp.net获取当前网页地址的一些信息. 设当前页完整地址是:http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli "http:// ...
- 转:asp.net获取url各项参数
假设当前页完整地址是:http://www.test.com/aaa/bbb.aspx?id=5&name=kelli "http://"是协议名 "www.te ...
- Spring Boot获取前端页面参数的几种方式总结
Spring Boot的一个好处就是通过注解可以轻松获取前端页面的参数,之后可以将参数经过一系列处理传送到后台数据库. 获得的方式有很多种,这里稍微总结一下,大致分为以下几种: 1.指定前端url请求 ...
- SpringBoot 获取前端页面参数的集中方式总结
SpringBoot的一个好处就是通过注解可以轻松获取前端页面的参数,之后尅将参数经过一系列处理传送到后台数据库,前端时间正好用到.大致分为一下几种: 1.指定前端URL请求参数名称与方法名称一致,这 ...
- asp.net 获取当前url地址
设当前页完整地址是:http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli "http://"是协议名 "www.jb5 ...
随机推荐
- 定位相关-CLLocationManager的使用。
#import "ViewController.h" #import <CoreLocation/CoreLocation.h> @interface ViewCont ...
- java三大特性性:封装、继承和多态
一.封装 封装是指隐藏对象的属性及实现细节,对外仅提供接口可见.封装实现了信息隐藏,利于软件复用.其优点是达到了模块化的标准,从而提高了代码的复用程度.在某种程度上,封装也大大改善了软件开发的可维护性 ...
- P1417 烹调方案
P1417 烹调方案 题目提供者tinylic 标签 动态规划 难度 普及+/提高 题目背景 由于你的帮助,火星只遭受了最小的损失.但gw懒得重建家园了,就造了一艘飞船飞向遥远的earth星.不过飞船 ...
- rpm命令详解
http://www.rpm.org/max-rpm/s1-rpm-install-additional-options.html#S2-RPM-INSTALL-REPLACEFILES-OPTION ...
- python 自动化之路 day 02
本节内容: 列表.元组操作 字符串操作 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 1 names = ['Alex',&qu ...
- nagios 完全配置手册
Linux下Nagios的安装与配置 一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机 ...
- HTTP_USER_AGENT
<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>We ...
- 【实习记】2014-09-01从复杂到简单:一行命令区间查重+长整型在awk中的bug
9月1号,导出sql文件后,想到了awk,但很复杂.想到了用sed前期处理+python排序比较的区间查重法.编写加调试用了约3小时. 9月2号,编写C代码的sql语句过程中,发现排序可以交m ...
- jsonp 使用示例
客户端: <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head>< ...
- PL/SQL学习(五)异常处理
原文参考:http://plsql-tutorial.com/ 组成: 1) 异常类型 2) 错误码 3) 错误信息 代码结构: DECLARE Declaration section BEGIN ...