准备把以前的老系统改成 Forms验证模式 ,现在有个问题,始终想不明白 ,忘高手指点。我查过很多资料基本了解基于角色的Forms验证的实现方法, 但是在我的系统中涉及到页面信息权限 和 页面定位两个问题,一、比如说有一个页面 aaa.aspx 这个页面中有一部分信息是需要认证以后才能查看的二、我的系统有三个登陆入口分别是(企业、个人、管理员)如何根据他访问的页面来判断他应该跳转到哪个登陆入口呢 ?谢谢
解决方案 »
- 文件下载后缀
- 关于Gridview 数据邦定到sqlDataSource控件的问题:当数据来源是存储过程的时候怎么默认的没有取出数据?
- 含有Null查询不准确?
- 开第二帖拉!没人知道什么原因吗?
- 求教:上传视频的时候怎样生成缩略图
- 在tablecell中嵌套了一个table设定背景图片,怎么出不来?;-(
- 500分求租(20M IIS空间支持ASP.NET+SQLSERVER),借用期1个月
- 如何给DataGrid自动生成的编辑TextBox加入样式?
- GridView和DataList传值等3个问题 求解决
- 新人求助:关于页面异步验证,麻烦大神帮忙解答一下
- 错误看不懂,什么意思
- 放假回家过年了,祝大家新春愉快!
但自己做的session验证就可以啦
不过要是某个页面要是几种角色都允许访问的话,不知道楼主又是如何区分的?
登录有必要做几个不同角色的登录页面这么繁琐吗,为什么不集中一个页面处理,要是只有一个登录页面,上述问题也就不存在了。
重写IsPostBack方法,然后所有的aspx全都改为继承自这个类(BasePage)
public class BasePage : Page
{
protected bool IsPagePostBack(Page page)
{
if (!page.IsPostBack)
{
HttpContext context = HttpContext.Current;
HttpCookie cookieUserInfo = context.Request.Cookies["UserInfo"];
//验证Cookies中是否有该用户的(是否已登陆)
if (cookieUserInfo == null)
//转到登陆页面
RequestLogin();
else
{
ViewState["UserID"] = cookieUserInfo.Value;
//用来根据该Cookies内容来判断该用户的权限和角色来选择该跳转的页面
SetButtonAuthority(cookieUserInfo.Value, page);
}
return false;
}
return true;
}
}然后再写一个Main页面,做为系统的主页面,在Main关闭的时候清空Cookies
同时关闭从这个窗口打开的其他所有页面,这是最困难切复杂的一步,Main页面需要用js数组变量来记录住所有从该窗口打开的子窗口
而且这打开的子窗口还要用数组来记录住他自己的子窗口这样在关闭Main的时候就可以操作关闭他自己的所有自窗口,而这些子窗口的子窗口如果没有关闭的话他自己也不会关闭
于是需要先关闭子窗口的子窗口
然后关闭子窗口,最后关闭自己.......貌似这个方法很蠢,但我当时的确是没想到其他方法,因为这个不是CS的吧,窗口处理太麻烦了.
protected void Page_Load(object sender, EventArgs e)
{
string uu = "";
if (Request.Cookies["sipUserLoginCookie"].Values["userSerial"] != null)
{
string serial = Request.Cookies["sipUserLoginCookie"].Values["userSerial"].Trim();
if (AuthorityCheck.CheckAuthority(serial))
{
EamUser user = AuthorityCheck.GetUserRole(serial);
uploadListGV.DataSource = profile(user);
uploadListGV.DataBind();
}
else
{
Response.Redirect("Authority.htm");
}
}
else {
Response.Redirect("ServiceLogin.aspx");
}
}